吐槽一下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接口从机从未出现过类似问题。

编辑原因:改错别字 其实-其次
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
33条回答
hantnt
1楼-- · 2019-12-25 07:08
dmxfeng 发表于 2015-4-28 16:14
我用429DMA发 103DMA收 循环模式 很正常

我用示波器的地碰一下就丢字节
modbus
2楼-- · 2019-12-25 12:37
要么程序有问题,要么硬件设计有问题,如果ST连SPI从机都做不好还怎么在社会上混呀
yanghuanchun
3楼-- · 2019-12-25 13:35
我也用了STM32的SPI做从机,FPGA做主机,运行稳定
senjet
4楼-- · 2019-12-25 16:34
 精彩回答 2  元偷偷看……
hantnt
5楼-- · 2019-12-25 17:18
senjet 发表于 2015-4-28 19:17
间歇接收几十次之后就会发生丢字节的问题是你的主从CPOL、CPHA不匹配导致的。另外,电源不良的确很容易使SP ...

下午改成了usart,usart很好用,spi没有开始停止的收发机制,容易发生错位。
zhaoxukiller
6楼-- · 2019-12-25 18:04
但是USART有SPI速率快吗?

一周热门 更多>