[STM32F1] 串口中断偶尔丢字节,怀疑环形缓冲区逻辑有问题

[复制链接]
1554|52
hudi008 发表于 2025-11-19 08:09 | 显示全部楼层
避免在中断中执行耗时操作              
usysm 发表于 2025-11-19 08:58 | 显示全部楼层
将串口中断优先级设为适中,避免被高频中断打断。
tabmone 发表于 2025-11-19 11:08 | 显示全部楼层
优先采用 DMA              
rosemoore 发表于 2025-11-19 13:14 | 显示全部楼层
用 “计数器” 替代指针差判断空满
usysm 发表于 2025-11-19 13:45 | 显示全部楼层
空 / 满判断不冲突              
modesty3jonah 发表于 2025-11-19 15:00 | 显示全部楼层
若主循环和中断同时操作缓冲区指针,未加锁或禁用中断可能导致指针状态不一致。
biechedan 发表于 2025-11-19 17:25 | 显示全部楼层
若未正确清除中断标志,会导致中断重复触发,或后续中断被阻塞,最终丢字节
tifmill 发表于 2025-11-19 22:56 | 显示全部楼层
中断未及时处理,或与串口接收中断冲突。
nowboy 发表于 2025-11-20 14:10 | 显示全部楼层
调试器断点多会影响中断响应速度,适当减少断点。
小熊01 发表于 2025-11-28 09:21 | 显示全部楼层
没有,加保护能防止多任务干扰,确保稳定运行。
mollylawrence 发表于 2025-11-21 10:14 | 显示全部楼层
先校验环形缓冲区的核心逻辑              
maudlu 发表于 2025-11-21 11:33 | 显示全部楼层
环形缓冲区本质是 “循环数组 + 读写指针”
gygp 发表于 2025-11-21 13:43 | 显示全部楼层
指针越界、空满判断失误              
10299823 发表于 2025-11-21 14:14 | 显示全部楼层
在中断中检查 ORE 标志,若存在则清除
claretttt 发表于 2025-11-21 14:43 | 显示全部楼层
未关闭中断或加锁保护,导致读写指针被同时修改
sanfuzi 发表于 2025-11-21 15:37 | 显示全部楼层
配置DMA传输完成中断,及时处理接收到的数据。
bestwell 发表于 2025-11-21 16:49 | 显示全部楼层
中断标志清除不及时               
belindagraham 发表于 2025-11-21 17:31 | 显示全部楼层
若未正确区分缓冲区空/满状态,可能导致数据覆盖或漏读
vivilyly 发表于 2025-11-23 11:54 | 显示全部楼层
改用DMA+环形缓冲区组合提升吞吐量
10299823 发表于 2025-11-23 12:57 | 显示全部楼层
串口线路无短路、断路或电磁干扰,必要时添加磁环或滤波电容。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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