Files
stm32f407ve_black/Modules/led/README.md
2026-01-22 16:36:56 +08:00

1.7 KiB
Raw Blame History

LED模块

功能描述

LED模块用于控制板载LED的开关和状态切换提供了简单易用的API接口。

依赖关系

  • HAL层hal_gpio

接口说明

数据结构

led_config_t

LED配置结构体用于初始化LED模块

typedef struct {
    hal_gpio_port_t gpio_port;  /*!< GPIO端口 */
    hal_gpio_pin_t gpio_pin;    /*!< GPIO引脚 */
} led_config_t;

led_t

LED实例结构体用于管理LED状态

typedef struct {
    led_config_t config;  /*!< LED配置 */
    uint8_t state;        /*!< 当前LED状态0: 关闭1: 开启) */
} led_t;

函数接口

led_init

void led_init(led_t *led, const led_config_t *config);

初始化LED模块

参数

  • led: LED实例指针
  • config: LED配置结构体指针

返回值:无

led_on

void led_on(led_t *led);

开启LED

参数

  • led: LED实例指针

返回值:无

led_off

void led_off(led_t *led);

关闭LED

参数

  • led: LED实例指针

返回值:无

led_toggle

void led_toggle(led_t *led);

切换LED状态

参数

  • led: LED实例指针

返回值:无

led_get_state

uint8_t led_get_state(const led_t *led);

获取LED当前状态

参数

  • led: LED实例指针

返回值

  • 0: LED关闭
  • 1: LED开启

使用示例

/* 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);