[STM32L4] UART偶尔接收乱码,发送完全正常

[复制链接]
147|15
Uriah 发表于 2025-10-21 07:14 | 显示全部楼层 |阅读模式
串口通信偶尔会收到一堆乱码,重启后又正常。波特率设定正确,线长不超过50cm。感觉像接收端“听错拍子”,怀疑和中断响应或时钟漂移有关。
Clyde011 发表于 2025-10-21 07:17 | 显示全部楼层
有时候主机端发数据过快也会引起问题。
公羊子丹 发表于 2025-10-21 07:19 | 显示全部楼层
是不是用了低功耗RC时钟?那漂移挺大的。
周半梅 发表于 2025-10-21 07:20 | 显示全部楼层
你用DMA收还是中断收?中断延迟太大也会丢。
帛灿灿 发表于 2025-10-21 07:21 | 显示全部楼层
我以前就是因为接收缓存没及时清空。
童雨竹 发表于 2025-10-21 07:21 | 显示全部楼层
如果接收偶发乱码,先看波特率两端误差。
万图 发表于 2025-10-21 07:22 | 显示全部楼层
线材质量也可能影响信号完整性。
Wordsworth 发表于 2025-10-21 07:23 | 显示全部楼层
试试用晶振作为UART时钟源看看稳定不。
Bblythe 发表于 2025-10-21 07:25 | 显示全部楼层
我遇到过是接地不好,导致噪声进来。
Pulitzer 发表于 2025-10-21 07:26 | 显示全部楼层
检查下RX引脚上有没有毛刺干扰。
 楼主| Uriah 发表于 2025-10-21 07:26 | 显示全部楼层
如果是偶发的,可以在接收回调里判断帧错误标志。
内政奇才 发表于 2025-10-21 15:42 | 显示全部楼层
及时清空中断标志位
海滨消消 发表于 2025-10-21 16:42 | 显示全部楼层
中断优先级冲突?
豌豆爹 发表于 2025-10-21 17:43 | 显示全部楼层
可能是接收缓冲区过小或未使用循环缓冲区,数据溢出时覆盖未处理数据。
麻花油条 发表于 2025-10-21 19:43 | 显示全部楼层
增大缓冲区,根据数据速率调整缓冲区大小
豌豆爹 发表于 2025-10-21 21:45 | 显示全部楼层
也可能是时钟源配置错误引起的吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

171

主题

6361

帖子

1

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