[软件资料] CW32L010 串口空闲中断实现不定长帧接收,偶发丢帧怎么调?

[复制链接]
131|25
alvpeg 发表于 2026-11-10 15:58 | 显示全部楼层
把 IDLE ISR 改成“先快照剩余计数、再处理、最后重启 DMA”,很多偶发丢半帧问题就是这一步顺序不对造成的。
jf101 发表于 2026-11-10 19:43 | 显示全部楼层
偶发丢帧先查FIFO溢出标志与中断响应延迟,空闲中断里及时搬走数据;可加帧超时重传兜底,波特率误差大时优先校准时钟。
cashrwood 发表于 2026-11-10 20:57 | 显示全部楼层
空闲判定阈值卡在临界点,对端帧间间隔和 MCU 的空闲判定窗口打架。
sheflynn 发表于 2026-11-10 22:55 | 显示全部楼层
单缓冲 + 循环模式,处理慢时新帧覆盖旧帧
lzmm 发表于 2026-11-12 17:46 | 显示全部楼层
空闲中断与数据读取的时序错位              
xinxianshi 发表于 2026-11-12 20:45 | 显示全部楼层
空闲中断只适合 帧间隔 ≥ 1 字符时间;丢帧绝大多数是 FIFO 溢出、中断里做了重活、单缓冲覆盖、时钟 / 波特率误差、IDLE 标志清除顺序不对
AdaMaYun 发表于 2026-11-12 21:54 | 显示全部楼层
空闲中断收不定长帧偶发丢帧,建议DMA+空闲中断双缓冲,避免中断处理占用过长导致缓冲区覆盖。另外确认下波特率误差,误差偏大在长帧时也会丢字节。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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