WS2812B全彩LED驱动(基于SPI+DMA)
1、WS2812介绍
WS2812/WS2812B LED 使用 24 位来表示绿色、红色和蓝色值。
WS2812采用单线通信的设计,通信协议为非归零编码,每个LED需要24个bit的数据,数据依次经过串联的LED时,第一个LED截取数据开头的24bit,并将剩下的数据流传给下一个LED,以此类推。数据线上的位由高脉冲编码,然后是低脉冲。时序如下:
WS2812支持高速数据传输并且其数据传输时序与SPI的通信时序类似,因此可以使用STM32的SPI外设模拟WS2812的通信时序。
在前面的文章中,对WS2812做了详细的介绍,请参考: