first commit
This commit is contained in:
44
Drivers/BSP/LED/led.h
Normal file
44
Drivers/BSP/LED/led.h
Normal file
@@ -0,0 +1,44 @@
|
||||
#ifndef __LED_H__
|
||||
#define __LED_H__
|
||||
|
||||
#include "./SYSTEM/sys/sys.h"
|
||||
|
||||
/* LED状态枚举 - 使用枚举类型提高类型安全性 */
|
||||
typedef enum {
|
||||
LED_OFF = 0, /* LED熄灭 */
|
||||
LED_ON = 1 /* LED点亮 */
|
||||
} LED_State_t;
|
||||
|
||||
/* LED极性定义 */
|
||||
#define LED_POLARITY_LOW_ACTIVE 0 /* 低电平有效(低电平亮) */
|
||||
#define LED_POLARITY_HIGH_ACTIVE 1 /* 高电平有效(高电平亮) */
|
||||
|
||||
/* LED配置结构体 - 所有硬件相关参数集中在此 */
|
||||
typedef struct {
|
||||
GPIO_TypeDef *port; /* GPIO端口 (如: GPIOA, GPIOB, ...) */
|
||||
uint16_t pin; /* GPIO引脚 (如: GPIO_PIN_0, GPIO_PIN_1, ...) */
|
||||
uint8_t polarity; /* 极性:LED_POLARITY_LOW_ACTIVE 或 LED_POLARITY_HIGH_ACTIVE */
|
||||
GPIO_PinState default_state; /* 默认状态:GPIO_PIN_SET 或 GPIO_PIN_RESET */
|
||||
uint32_t speed; /* GPIO速度:GPIO_SPEED_FREQ_LOW/MEDIUM/HIGH */
|
||||
uint32_t pull; /* 上拉下拉:GPIO_PULLUP/GPIO_PULLDOWN/GPIO_NOPULL */
|
||||
} LED_Config_t;
|
||||
|
||||
/* LED数量定义 - 修改此值以适配不同数量的LED */
|
||||
#define LED_COUNT 20
|
||||
|
||||
/* 函数声明 */
|
||||
void LED_Init(void);
|
||||
void LED_On(uint8_t led_id);
|
||||
void LED_Off(uint8_t led_id);
|
||||
void LED_Toggle(uint8_t led_id);
|
||||
void LED_Set(uint8_t led_id, LED_State_t state);
|
||||
LED_State_t LED_GetState(uint8_t led_id);
|
||||
void LED_Printf(uint8_t* ledbuf);
|
||||
|
||||
|
||||
|
||||
/* 向后兼容的宏定义(基于新的API实现) */
|
||||
#define LED_POW(x) LED_Set(0, x) /* 电源指示灯 */
|
||||
#define LED_RUN 1 /* 运行指示灯 */
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user