1.9 KiB
1.9 KiB
bsp_led — пользовательские светодиоды
Управление двумя пользовательскими светодиодами на плате. Используется для индикации heartbeat и состояния приложения.
Аппаратура
| Идентификатор | Сигнал | Пин MCU | Корпус | GPIO | Активный уровень |
|---|---|---|---|---|---|
LED_HEARTBEAT |
UserLed1 | GPIO_SD_B1_03 | M4 | GPIO3[3] | LOW (0 = горит) |
LED_APP |
UserLed2 | GPIO_SD_B1_04 | P2 | GPIO3[4] | LOW (0 = горит) |
Пины настроены в BOARD_InitPins() (generated/pin_mux.c) как OUTPUT,
INIT_GPIO_VALUE = 1U — оба LED выключены сразу после bsp_led_init().
API
void bsp_led_init(void);
void bsp_led_on(led_id_t id);
void bsp_led_off(led_id_t id);
void bsp_led_toggle(led_id_t id);
void bsp_led_set(led_id_t id, bool on);
bool bsp_led_get(led_id_t id);
Вызвать bsp_led_init() один раз после board_hw_init().
Быстрый старт
#include "bsp/led.h"
bsp_led_init();
/* heartbeat в main loop */
bsp_led_toggle(LED_HEARTBEAT);
/* индикация события */
bsp_led_on(LED_APP);
/* ... */
bsp_led_off(LED_APP);
CMake
target_link_libraries(firmware_test PRIVATE bsp_led)
Зависимости модуля:
| Зависимость | Тип | Описание |
|---|---|---|
bsp_status |
PUBLIC | bsp_status_t в публичном API |
bsp_board |
PRIVATE | Транзитивно: pin_mux.h, clock, SDK headers |
sdk_gpio |
PRIVATE | fsl_gpio.h — GPIO_PinWrite/Read() |