// // Created by iflyt on 2025/2/27. // #ifndef BSP_LED_H #define BSP_LED_H #ifdef __cplusplus extern "C" { #endif // LED_KEY #define LED_KEY_Pin GPIO_PIN_11 #define LED_KEY_GPIO_Port GPIOF #define LED_KEY_OFF HAL_GPIO_WritePin(LED_KEY_GPIO_Port, LED_KEY_Pin, GPIO_PIN_SET) #define LED_KEY_ON HAL_GPIO_WritePin(LED_KEY_GPIO_Port, LED_KEY_Pin, GPIO_PIN_RESET) #define LED_KEY_TOGGLE do{ HAL_GPIO_TogglePin(LED_KEY_GPIO_Port, LED_KEY_Pin); }while(0) // LED_GREEN(高电平点亮,低电平熄灭) #define LED_GREEN_Pin GPIO_PIN_8 #define LED_GREEN_GPIO_Port GPIOE #define LED_GREEN_ON HAL_GPIO_WritePin(LED_GREEN_GPIO_Port, LED_GREEN_Pin, GPIO_PIN_SET) // SET=高电平=ON #define LED_GREEN_OFF HAL_GPIO_WritePin(LED_GREEN_GPIO_Port, LED_GREEN_Pin, GPIO_PIN_RESET) // RESET=低电平=OFF #define LED_GREEN_TOGGLE do { HAL_GPIO_TogglePin(LED_GREEN_GPIO_Port, LED_GREEN_Pin); } while(0) // LED_RED(高电平点亮,低电平熄灭) #define LED_RED_Pin GPIO_PIN_9 #define LED_RED_GPIO_Port GPIOE #define LED_RED_ON HAL_GPIO_WritePin(LED_RED_GPIO_Port, LED_RED_Pin, GPIO_PIN_SET) #define LED_RED_OFF HAL_GPIO_WritePin(LED_RED_GPIO_Port, LED_RED_Pin, GPIO_PIN_RESET) #define LED_RED_TOGGLE do { HAL_GPIO_TogglePin(LED_RED_GPIO_Port, LED_RED_Pin); } while(0) // LED_BLUE(高电平点亮,低电平熄灭) #define LED_BLUE_Pin GPIO_PIN_10 #define LED_BLUE_GPIO_Port GPIOE #define LED_BLUE_ON HAL_GPIO_WritePin(LED_BLUE_GPIO_Port, LED_BLUE_Pin, GPIO_PIN_SET) #define LED_BLUE_OFF HAL_GPIO_WritePin(LED_BLUE_GPIO_Port, LED_BLUE_Pin, GPIO_PIN_RESET) #define LED_BLUE_TOGGLE do { HAL_GPIO_TogglePin(LED_BLUE_GPIO_Port, LED_BLUE_Pin); } while(0) // BEPPER_ALARM #define BEPPER_ALARM_Pin GPIO_PIN_11 #define BEPPER_ALARM_GPIO_Port GPIOE #define BEPPER_ALARM_OFF HAL_GPIO_WritePin(BEPPER_ALARM_GPIO_Port, BEPPER_ALARM_Pin, GPIO_PIN_SET) #define BEPPER_ALARM_ON HAL_GPIO_WritePin(BEPPER_ALARM_GPIO_Port, BEPPER_ALARM_Pin, GPIO_PIN_RESET) #define BEPPER_ALARM_TOGGLE do{ HAL_GPIO_TogglePin(BEPPER_ALARM_GPIO_Port, BEPPER_ALARM_Pin); }while(0) #if 1 // LIGHT_FLOOD 照明灯 #define LIGHT_FLOOD_Pin GPIO_PIN_6 #define LIGHT_FLOOD_GPIO_Port GPIOE #define LIGHT_FLOOD_OFF HAL_GPIO_WritePin(LIGHT_FLOOD_GPIO_Port, LIGHT_FLOOD_Pin, GPIO_PIN_SET) #define LIGHT_FLOOD_ON HAL_GPIO_WritePin(LIGHT_FLOOD_GPIO_Port, LIGHT_FLOOD_Pin, GPIO_PIN_RESET) #define LIGHT_FLOOD_TOGGLE do{ HAL_GPIO_TogglePin(LIGHT_FLOOD_GPIO_Port, LIGHT_FLOOD_Pin); }while(0) #else #define LIGHT_FLOOD_Pin GPIO_PIN_11 #define LIGHT_FLOOD_GPIO_Port GPIOI #define LIGHT_FLOOD_OFF HAL_GPIO_WritePin(LIGHT_FLOOD_GPIO_Port, LIGHT_FLOOD_Pin, GPIO_PIN_SET) #define LIGHT_FLOOD_ON HAL_GPIO_WritePin(LIGHT_FLOOD_GPIO_Port, LIGHT_FLOOD_Pin, GPIO_PIN_RESET) #define LIGHT_FLOOD_TOGGLE do{ HAL_GPIO_TogglePin(LIGHT_FLOOD_GPIO_Port, LIGHT_FLOOD_Pin); }while(0) #endif // RK3588_POWER 电源控制 #define RK3588_POWER_Pin GPIO_PIN_11 #define RK3588_POWER_GPIO_Port GPIOI #define RK3588_POWER_OFF HAL_GPIO_WritePin(RK3588_POWER_GPIO_Port, RK3588_POWER_Pin, GPIO_PIN_SET) #define RK3588_POWER_ON HAL_GPIO_WritePin(RK3588_POWER_GPIO_Port, RK3588_POWER_Pin, GPIO_PIN_RESET) #define RK3588_POWER_TOGGLE do{ HAL_GPIO_TogglePin(RK3588_POWER_GPIO_Port, RK3588_POWER_Pin); }while(0) typedef enum { COLOR_GREEN, COLOR_BLUE, COLOR_RED, COLOR_OFF } LightColor; void LED_Init(void); void tri_color_light(const LightColor color); #ifdef __cplusplus } #endif #endif //BSP_LED_H