BeHappy 发表于 2025-6-1 13:40:21

感谢版主以及楼上各位大佬的答疑解惑!

最终,用普通SPI + DMA传送的方式,实现以25.6MHz mcu频率控制WS2812的目的!

_奶咖君_ 发表于 2025-6-3 08:55:16

晓飛飛 发表于 2025-5-30 21:31
用硬件SPI驱动WS2812的方法是通过发出一个byte来表达一个bit,表达24bit的数据就需要发出24个byte,而且 ...

啊 我的观点不是和你推荐的比较,,我的意思是用SPI+DMA的方式和软件模拟相比。。

晓飛飛 发表于 2025-6-3 10:46:41

_奶咖君_ 发表于 2025-6-3 08:55
啊 我的观点不是和你推荐的比较,,我的意思是用SPI+DMA的方式和软件模拟相比。。 ...

明白你的意思了,WS2812使用模拟模拟方式操作时,数据发出过程不允许被任何中断打断,因此大大的降低了实用性。
而SPI+DMA方式起码能保证这个过程是纯硬件的,不受其它中断影响,主程序里面只需要按位解析显示数据并填充RAM数据发起DMA即可,使得具有了一点实用性。驱动少量的WS2812还是可以的。

神农鼎 发表于 2025-6-3 13:18:27



【新提醒】SPI-DMA 驱动 WS2812三基色彩灯@Ai8051U,最多同时驱动2730个,不占CPU时间 - WS2812,点灯,灯带,光立方,DMA-SPI点灯,DMA-PWM点灯,即将推出一线制 国芯技术交流网站 - AI32位8051交流社区

BeHappy 发表于 2025-6-6 23:43:57

现在,不使用DMA传送,也能点亮16颗灯珠
页: 1 2 3 [4]
查看完整版本: 普通SPI外设能否点亮WS2812 | 可以