【求助】SPI通信stm32从机返回数据有错位

2019-08-23 15:01发布

之前发过帖子请教用STM32做SPI从机时候给主机返回的数据有误。可是问题还是没有解决。我再描述一下吧,从机给主机返回的数据有错位。主机的时钟极性跟从机是一模一样的,master跟slave也没有设置错。请问有没有人知道从机返回数据有错位这个大概会是什么原因。从机的程序在配置好RCC GPIO 和SPI之后就直接senddata(0x32)了。能这样操作吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
33条回答
dichi
2019-08-26 02:44
我之前的一个比较笨的解决方法是, 连接主从机的两个引脚,分别是主从机的输出和输入。输出高电平表示数据错误,这样两边可以同时清除缓存,从而达到同步。........但是这种方式比较笨,浪费引脚。现在的解决方式是,固定时间内spi缓冲同时清空。 比如说,主从机通信的一帧数据时间间隔是10ms,那么出现错位或者其他异常,主从机都会立即清除缓存。当然了怕缓存清除不同步,可以停止10ms发送数据。这样基本就解决了错位的问题。.........其实,从机先启动,主机后启动,一般都不会出现通信故障问题。

一周热门 更多>