12 WS2812
实验目标
驱动单线可编程 RGB LED,实现固定颜色、亮度限制和非阻塞状态灯效,并理解严格时序外设为什么更适合定时器与 DMA。
资料状态
原说明书 V1.2 的 WS2812 与扩展接口仍标记为待更新。开始实验前,请先从当前实物或最新原理图确认数据引脚、电源和 LED 数量。
推荐方案
把每一位编码为定时器 PWM 的不同比较值,预先生成整帧缓冲,通过 DMA 连续输出;帧末追加足够的低电平复位时间。这样不会长时间关闭中断,也不会让灯效阻塞控制任务。
数据处理
- WS2812 常用颜色顺序为
G-R-B,不要默认是 RGB。 - 对总亮度设置上限,避免多个 LED 全白导致电源过载。
- 颜色渐变使用固定周期更新,通信完成后再交换缓冲。
验收
- 固定红、绿、蓝与白色显示正确。
- CPU 执行其他任务时灯带无随机闪烁。
- 输出停止后数据线保持确定低电平。
- 实际供电电流在设计范围内。