实现串口驱动,移植方便
This commit is contained in:
120
Modules/led/README.md
Normal file
120
Modules/led/README.md
Normal file
@ -0,0 +1,120 @@
|
||||
# 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);
|
||||
```
|
||||
Reference in New Issue
Block a user