您尚未登录。

楼主 # 2022-03-11 09:52:05

xboot
会员
注册时间: 2019-10-15
已发帖子: 692
积分: 434

全志D1,D1s,F133,T113,R528的SPI控制器跟之前的SOC,有点不太一致,沿用之前的驱动在某些SPI频率上,会出现卡死现象。

坑网LinjieGuo发布了一个帖子,用SPI来驱动WS2811这种灯带,基于此研究成果,我编写了一个WS2812的通用驱动,原贴路径https://whycan.com/t_7742.html

因为此驱动需要4M的SPI时钟,在测试后发现,程序直接卡死,实验了3M同样如此,但2M,及5M,或者50M这些都没有任何问题,SPI驱动一直沿用之前的,什么F1C100S,V3S,V831,都是这一个,因为从来没有在F133上实验过如此低的频率,所以,也一直没有发现问题。现在突然发现这个问题,就有必要去深入研究一下了,初步比较芯片手册,之前的SPI_CCR寄存器没有了。发现多了SPI_BA_CCR之类的寄存器,但虽然SPI_CCR寄存器没有了,但还是可以通过这个寄存器来控制分频。那问题来了这个消失的寄存器,是如何控制分频的,难道是SPI_BA_CCR的马甲寄存器?

有谁研究过F133的SPI控制器驱动吗?可以去linux内核里翻翻,看能否找到蛛丝马迹。

离线

#1 2022-03-11 13:42:45

mango
会员
所在地: 芒果派1
注册时间: 2017-12-02
已发帖子: 780
积分: 726

Re: 全志D1,D1s,F133,T113,R528的SPI控制器跟之前的SOC,有点不太一致,沿用之前的驱动在某些SPI频率上,会出现卡死现象。

用LEDC控制ws2812这类会不会更省事些?






歪朵拉开源硬件: https://widora.cn
淘宝:  https://widora.taobao.com/

离线

楼主 #2 2022-03-11 18:11:44

xboot
会员
注册时间: 2019-10-15
已发帖子: 692
积分: 434

Re: 全志D1,D1s,F133,T113,R528的SPI控制器跟之前的SOC,有点不太一致,沿用之前的驱动在某些SPI频率上,会出现卡死现象。

当然更省事了,这不是考虑当没这玩意时,该怎么办

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn