# LED模块 ## 功能描述 LED模块用于控制板载LED的开关和状态切换,提供了简单易用的API接口。 ## 依赖关系 - HAL层:hal_gpio ## 接口说明 ### 数据结构 #### led_config_t LED配置结构体,用于初始化LED模块 ```c typedef struct { hal_gpio_port_t gpio_port; /*!< GPIO端口 */ hal_gpio_pin_t gpio_pin; /*!< GPIO引脚 */ } led_config_t; ``` #### led_t LED实例结构体,用于管理LED状态 ```c typedef struct { led_config_t config; /*!< LED配置 */ uint8_t state; /*!< 当前LED状态(0: 关闭,1: 开启) */ } led_t; ``` ### 函数接口 #### led_init ```c void led_init(led_t *led, const led_config_t *config); ``` 初始化LED模块 **参数**: - led: LED实例指针 - config: LED配置结构体指针 **返回值**:无 #### led_on ```c void led_on(led_t *led); ``` 开启LED **参数**: - led: LED实例指针 **返回值**:无 #### led_off ```c void led_off(led_t *led); ``` 关闭LED **参数**: - led: LED实例指针 **返回值**:无 #### led_toggle ```c void led_toggle(led_t *led); ``` 切换LED状态 **参数**: - led: LED实例指针 **返回值**:无 #### led_get_state ```c uint8_t led_get_state(const led_t *led); ``` 获取LED当前状态 **参数**: - led: LED实例指针 **返回值**: - 0: LED关闭 - 1: LED开启 ## 使用示例 ```c /* LED配置 */ static led_config_t led_config = { .gpio_port = BSP_LED_PORT, .gpio_pin = BSP_LED_PIN }; /* LED实例 */ static led_t led; /* 初始化LED */ led_init(&led, &led_config); /* 开启LED */ led_on(&led); /* 延迟500ms */ delay_ms(500); /* 关闭LED */ led_off(&led); /* 切换LED状态 */ led_toggle(&led); /* 获取LED状态 */ uint8_t state = led_get_state(&led); ```