2026-07-15 16:14:30 +08:00
|
|
|
|
#ifndef __RGB_H__
|
|
|
|
|
|
#define __RGB_H__
|
|
|
|
|
|
|
|
|
|
|
|
#include "config.h"
|
|
|
|
|
|
|
2026-07-16 17:52:52 +08:00
|
|
|
|
/* ====== SPI 控制与级联 WS2812B (FCOB 幻彩灯条) 驱动接口 ====== */
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* @brief 初始化 SPI 控制器以驱动 RGB 幻彩灯条
|
|
|
|
|
|
* @details 将 SPI 引脚切换映射到第二组物理引脚 (P2.2~P2.5),并配置 SPI 模块为
|
|
|
|
|
|
* 主机模式 (Master),将通讯时钟速率设置为 3.0 MHz,以利用 SPI 字节发送功能
|
|
|
|
|
|
* 高效产生 WS2812B 所需的精确脉冲宽度时序。
|
|
|
|
|
|
*/
|
2026-07-15 16:14:30 +08:00
|
|
|
|
void SPI_Init(void);
|
|
|
|
|
|
|
2026-07-16 17:52:52 +08:00
|
|
|
|
/**
|
|
|
|
|
|
* @brief 向 FCOB 幻彩灯条发送两颗级联 LED 灯珠的 GRB 三原色数据
|
|
|
|
|
|
* @param g1 LED 1 的绿色亮度 (0~255)
|
|
|
|
|
|
* @param r1 LED 1 的红色亮度 (0~255)
|
|
|
|
|
|
* @param b1 LED 1 的蓝色亮度 (0~255)
|
|
|
|
|
|
* @param g2 LED 2 的绿色亮度 (0~255)
|
|
|
|
|
|
* @param r2 LED 2 的红色亮度 (0~255)
|
|
|
|
|
|
* @param b2 LED 2 的蓝色亮度 (0~255)
|
|
|
|
|
|
* @note 由于 WS2812B 内部芯片使用 GRB 顺序,此函数将色彩数据组合编码后通过 SPI 发送出去。
|
|
|
|
|
|
*/
|
2026-07-15 16:14:30 +08:00
|
|
|
|
void RGB_Send(u8 g1, u8 r1, u8 b1, u8 g2, u8 r2, u8 b2);
|
|
|
|
|
|
|
2026-07-16 17:52:52 +08:00
|
|
|
|
#endif // __RGB_H__
|