一、技术背景
移植前使用STM32来做MCU,但是这两年STM32离谱的价格和供应直接说服了大多数互联网企业。MCU制造商也抓住机,迅速抢占市场,国民技术是典型的厂家。
在很多情况下,有一个状态灯是必要的消费家居类智能硬件产品。我们可能一开始就知道并使用引线型RGB,长这样:
一般有四个引脚:
阳极/阴极(根据共阳/共阴类型);
R(red);
G(green);
B(blue)。
当然为了小型化,这种RGB也会有各种贴片型。
如果我们想控制它,我们通常配置它RGB三个引脚的限流电阻,然后根据不同引脚的电平状态实现状态灯的发光颜色。但会有一个问题:颜色不容易准确控制,IO资源占用较多:3。
而WS2812通过一个实现IO发送24bit精确控制灯珠颜色功能和贴片小型化的数据。因此,它具有很高的应用价值。
之前有在STM通过32PWM DMA来控制WS2812 网上也有很多教程,这里就不详细说明了。这次实现了N32G031xxxx上实现PWM DMA来控制它。