吐槽一下STM32的SPI作为从机的问题

2019-12-24 18:38发布

本帖最后由 hantnt 于 2015-4-28 13:31 编辑

之前一直以为STM32就iic有bug,今天又发现当spi作为从机使用时会出现各种莫名其妙的问题。
首先是接收机制的问题,接收时只检测SCK的跳变沿,很容易发生错位问题,而且复位SPI移位寄存器内容依然,可能有人要怀疑是不是我自己程序的问题,但是我所有代码都是直接调用库函数的。
其次是在间歇接收几十次之后就会发生丢字节的问题,这个问题就很严重了。
最终放弃了用stm32作为spi从机的通信方式,还是用UART吧,白折腾了一天。
ps:我自己用FPGA写的SPI接口从机从未出现过类似问题。

编辑原因:改错别字 其实-其次
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
34条回答
hantnt
2019-12-26 19:12
lusson 发表于 2015-4-29 09:16
我一直用SPI从机,硬件CS。FPGA做SPI主机,从未发生问题啊,STM32F429,目前用到最高速是12Mbps

SPI使用了 ...

哦,那估计是我没有用硬件cs的原因。发现库函数固然方便,但是稳定性欠佳,改用USART通信以后在通讯过程中拔掉线同样会发生下次无法正确接收数据的问题。
看来要想要可靠的通讯还是得自己写通讯函数才行,库函数很多东西都未考虑到。
芯片本身应该并不存在问题,还是程序本身不够健全,现在不得不自己重写这部分代码了。

一周热门 更多>