Files
edc-mcu/components/rgb/rgb.h
T
2026-07-30 15:38:02 +08:00

50 lines
909 B
C

/**
* @file rgb.h
* @brief 单颗 WS2812 RGB LED 控制 (RMT)
*
* 使用 RMT 外设驱动一颗 WS2812 / SK6812 等可寻址 RGB LED。
* 提供 RGB 直接设色与 HSV 设色, 调用即刷新, 无需手动 flush。
*/
#ifndef RGB_H
#define RGB_H
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief 初始化 RGB LED
* @param gpio 数据引脚编号
*/
void rgb_init(int gpio);
/**
* @brief 设置 RGB 颜色 (立即生效)
* @param r 红色 0~255
* @param g 绿色 0~255
* @param b 蓝色 0~255
*/
void rgb_set(uint8_t r, uint8_t g, uint8_t b);
/**
* @brief 以 HSV 色彩设置颜色 (立即生效)
* @param h 色相 0~359
* @param s 饱和度 0~100
* @param v 明度 0~100
*/
void rgb_set_hsv(uint16_t h, uint8_t s, uint8_t v);
/**
* @brief 熄灭 LED
*/
void rgb_off(void);
#ifdef __cplusplus
}
#endif
#endif /* RGB_H */