CH573F 采用SPI驱动WS2812问题

使用的是这个帖子里面的例程

https://www.wch.cn/bbs/thread-94386-1.html

但是在CH573F上一直不能实现,ws2812的IN脚接得PA14,

image.png

这个 ws2812_buf[30],里面的30是表示级联的灯个数吗?

map_table[8],又是什么含义

此例程就是在573F上跑的,直接烧录是可以跑的,

30表示的是级联的灯的个数,

map_table使用来查表填写spi dma数据的。


直接下载的 里面的HEX文件, 表现效果是这样的,感觉怪怪的

https://www.bilibili.com/video/BV1n841147RD/?vd_source=4bc3750f59ac3405106bf3cd04adc2fd


我使用这个看了一下 但是发现很奇怪。我照着其他大佬用ST32的SPI+dma的控制方式写了一个,但是DMA没搞定 。你可以看看我上传的代码。

链接在这里:CH582M_SPI控制WS2812 - 沁恒微电子社区 (wch.cn)


@wmfi我研究了一下SPI原理,有的大佬说是第一位数据的电平信号导致第一个灯状态不对,官方技术给的是SPI0模式,我把SPI模式改成了3,第一个灯的状态就对了。


只有登录才能回复,可以选择微信账号登录