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

[复制链接]
 楼主| 地瓜patch 发表于 2025-5-18 22:53 | 显示全部楼层 |阅读模式
发送端每间隔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 | 显示全部楼层
避免因电压波动导致通信错误。              
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:出一块TI-PLABS-AMP-EVM

1813

主题

14867

帖子

29

粉丝
快速回复 在线客服 返回列表 返回顶部