【STM32F4系列】【HAL库】【自制库】WS2812(软件部分)(PWM+DMA)
缓冲区的第25个数据为0是确保DMA中断响应时是低电平(码字的低电平时间稍长,3-4us无所谓,但是不能出现而外的高电平)设置两个缓冲区,每个长度为25个uint32(其中前24个是发送的数据码,第25个是保持占空比为0)这样只需要3个变量数组(2个缓冲区,1个存放灯带颜色数据),1个常量数组(复位码)定时器的最高频率(不改动时钟设置的情况下)为84MHz,也就是11ns左右,定时器每当发送一个脉冲后,更改为下一个比较值,直到数组被发送完成,触发一次。复位码缓冲区是常量数组,开始发送和单独复位码的区别。