打印
[STM32F1]

两F103用SPI通讯 上电偶尔不能通讯

[复制链接]
876|27
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tdh03z|  楼主 | 2023-7-30 10:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
两个F103基于SPI3进行通讯,主机定时用DMA发送,从机用DMA方式接收,通讯功能已经正常了。

但是两个F103同时上电,会出现接收不到数据的情况,人为复位从机,通讯恢复。
这是个在F429时也出现过,有人碰到过吗?

使用特权

评论回复
沙发
chenjinyu| | 2023-8-4 15:16 | 只看该作者
有没有做CRC的校验
SPI主机只有SCK,一旦SCK和数据对应不上了,后面的数据都会错乱。需要用到CRC,强制SPI复位

使用特权

评论回复
板凳
Mowergy| | 2023-8-5 09:06 | 只看该作者
有没有做CRC的校验

使用特权

评论回复
地板
tdh03z|  楼主 | 2023-8-7 21:41 | 只看该作者
没操作过CRC啊,应该默认是关闭的吧。主从机都是用DMA发送接收,没用NSS片选,会不会是SPI的时钟错位导致一直收不到正确数据导致的

使用特权

评论回复
5
tdh03z|  楼主 | 2023-8-7 21:42 | 只看该作者
https://blog.huangzzk.info/archives/86  STM32从机SPI通信的CRC、错位问题

使用特权

评论回复
6
tdh03z|  楼主 | 2023-8-10 22:38 | 只看该作者
确实是SCK时钟错位导致,看了下CRC校验,发送接收都用DMA方式,从机接收的CRC校验一直提示错误,不知道为啥

使用特权

评论回复
7
一只眠羊| | 2023-8-11 18:13 | 只看该作者
你用SPI的模块,USB转SPI的模块,给发数据,仿真跟一下,看看同时上电是哪个模块接收不到数据啊?

使用特权

评论回复
8
未说出口的像你| | 2023-8-11 20:11 | 只看该作者
一般情况不应该啊,SPI 就总线形式啊,还能跟上电的先后数据有关系?

使用特权

评论回复
9
juventus9554| | 2023-8-11 22:19 | 只看该作者
操作过CRC?

使用特权

评论回复
10
Stahan| | 2023-8-11 22:37 | 只看该作者
是不是CRC校验的问题啊

使用特权

评论回复
11
在曼谷的春| | 2023-8-11 22:43 | 只看该作者
之前我也遇到过,不过是串口的,那时候有先上电做检测,检测设备在不在啥的

使用特权

评论回复
12
我吃小朋友| | 2023-8-12 01:34 | 只看该作者
复位从机,就能收到数据了?那你复位主机是不是没啥用啊

使用特权

评论回复
13
月亮一键变蓝| | 2023-8-12 03:52 | 只看该作者
话说,你开机的时候,SPI会发什么数据吗?

使用特权

评论回复
14
失物招領| | 2023-8-12 05:25 | 只看该作者
有没有检测是否设备在线的操作啊?要是有的话,你屏蔽一下试试

使用特权

评论回复
15
她已醉| | 2023-8-12 07:02 | 只看该作者
感觉还是你发什么非法字符了吧,然后就不行了

使用特权

评论回复
16
tdh03z|  楼主 | 2023-8-12 09:07 | 只看该作者
就是主机用DMAf方式1秒定时发一帧长54字节数据,从机DMA接收,都没用中断。这个已经确认是SPI的sck错位造成的,毕竟是同步传输,一旦时钟丢失1位,接收数据就会一直不正确。还必须重新初始化SPI接口才能恢复

使用特权

评论回复
17
tdh03z|  楼主 | 2023-8-12 09:10 | 只看该作者
和前期用F429时,遇到的问题是一样的。当时就是从机延时启动来解决,看来有问题。碰到严重干扰环境,SCK错位还是会出问题

使用特权

评论回复
18
将爱藏于深海| | 2023-8-12 09:11 | 只看该作者
这种2MCU交互,最好还是用485这种,能好点吧

使用特权

评论回复
19
春日负喧| | 2023-8-12 11:26 | 只看该作者
这是偶然现象还是必然现象啊?每次一起上电,第一次都这样么?

使用特权

评论回复
20
chenqianqian| | 2023-8-12 12:40 | 只看该作者
主机上电就一直默认发数据

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

202

帖子

4

粉丝