地瓜patch 发表于 2025-5-18 22:53

F407串口中断接收,会出现字节错乱

发送端每间隔25mS发送三个字节,前两个字节十有效数据,第三个字节是校验。
通信中,数据一般情况下正确,几个小时后三个字节顺序会错乱。
这时接收验证就错误了。


七毛钱 发表于 2025-5-19 13:03

检查波特率及时钟配置。

七毛钱 发表于 2025-5-19 13:13

串口线路的连接是否正确,TX和RX引脚是否对应连接?

flycamelaaa 发表于 2025-5-19 14:06

检查串口线路是否受到外部的电磁干扰或噪声干扰,必要时使用屏蔽线缆,并增加滤波电容以减少干扰。

stormwind123 发表于 2025-5-19 15:23

检查数据位、停止位和校验位的配置是否正确。

powerantone 发表于 2025-5-19 17:03

波特率不匹配导致的吧。

地瓜patch 发表于 2025-5-19 19:12

结帖,启用串口中断和空闲中断接收数据,解决该问题。

probedog 发表于 2025-5-19 21:00

中断优先级问题。

duo点 发表于 2025-5-19 21:05

增加缓冲区大小,定时检查串口的接收缓冲区,避免缓冲区溢出。

onlycook 发表于 2025-5-19 22:00

建议在接收端添加校验机制。

classroom 发表于 2025-5-19 22:09

检查系统时钟配置是否正确,特别是PLLCLK时钟的配置。

地瓜patch 发表于 2025-5-20 22:14

好多热心人回帖不看帖,我谢谢你们

youtome 发表于 2025-5-21 15:06

发送端和接收端的波特率设置不一致,导致数据传输速率不匹配

sanfuzi 发表于 2025-5-21 15:13

使用循环缓冲区存储接收到的数据,避免缓冲区溢出。

bestwell 发表于 2025-5-21 16:21

未及时读取数据,可能导致数据丢失或错乱。

jackcat 发表于 2025-5-21 16:35

未正确清除中断标志位            

minzisc 发表于 2025-5-21 17:16

ISR应该尽可能简短快速,以便尽快返回以处理下一个中断请求。如果ISR中包含耗时操作,可能导致后续数据丢失或错乱。

sdCAD 发表于 2025-5-21 17:52

检查串口信号线的质量,确保没有短路或断路。

janewood 发表于 2025-5-21 18:48

如果串口中断的优先级被设置得过低,可能会被其他更高优先级的中断打断,导致数据处理不及时,进而引起字节丢失或错乱。

kkzz 发表于 2025-5-21 19:44

避免因电压波动导致通信错误。            
页: [1] 2 3
查看完整版本: F407串口中断接收,会出现字节错乱