[STM32G0] 串口DMA收数据总是丢几个字节?

[复制链接]
西洲 发表于 2025-6-14 21:09 | 显示全部楼层
优化中断优先级,提高DMA和USART中断的优先级,减少被其他中断延迟的可能性
她已醉 发表于 2025-6-14 22:00 | 显示全部楼层
调整缓冲区大小,根据实际数据量增大DMA缓冲区,确保足够存储接收的数据
春日负喧 发表于 2025-6-15 10:30 | 显示全部楼层
中断优先级设置不合理,若DMA或串口中断优先级过低,可能被其他高优先级中断延迟处理,导致数据接收不及时。例如,当高优先级中断频繁触发时,DMA中断可能无法及时响应,造成数据丢失
earlmax 发表于 2025-6-15 21:59 | 显示全部楼层
偶尔丢字节且伴随校验错误              
nomomy 发表于 2025-6-16 15:13 | 显示全部楼层
如果DMA缓冲区的大小设置不当,可能会导致数据溢出或丢失。
plsbackup 发表于 2025-6-16 15:44 | 显示全部楼层
排查 ​​硬件线路干扰​​              
gygp 发表于 2025-6-16 17:22 | 显示全部楼层
在DMA传输完成中断中,如果立即切换到其他操作(如切换收发模式),可能会导致数据未完全传输就被中断,从而丢失数据。
plsbackup 发表于 2025-6-16 18:53 | 显示全部楼层
避免在发送函数内部定义局部数组作为发送缓冲区,因为这可能导致指针在发送过程中被释放。
ccook11 发表于 2025-6-16 19:51 | 显示全部楼层
如果数据传输速率过高,可能会超过串口的处理能力,导致数据丢失。
phoenixwhite 发表于 2025-6-16 20:22 | 显示全部楼层
DMA传输完成中断处理不当              
mmbs 发表于 2025-6-16 21:15 | 显示全部楼层
如果串口中断处理不当,可能会导致数据丢失。
adolphcocker 发表于 2025-6-16 21:37 | 显示全部楼层
​​DMA/串口中断优先级​​,确保及时响应。
louliana 发表于 2025-6-17 11:13 | 显示全部楼层
中断优先级设置不当,可能会导致数据接收被延迟处理,从而引发丢包。
jkl21 发表于 2025-6-17 11:54 | 显示全部楼层
适当降低串口的波特率,确保数据传输速率在串口的处理能力范围内。
xiaoyaodz 发表于 2025-6-17 12:51 | 显示全部楼层
缓冲区大小与数据长度不匹配              
tifmill 发表于 2025-6-17 15:41 | 显示全部楼层
硬件问题也可能导致数据丢失,例如信号线接触不良、电源不稳定等。
xiaoyaodz 发表于 2025-6-17 16:08 | 显示全部楼层
中断未及时处理导致缓冲区溢出              
LLGTR 发表于 2025-6-18 20:29 | 显示全部楼层
中断处理需先设置标志位,然后根据标志位判断中断原因,执行相应操作
sanfuzi 发表于 2025-6-18 22:14 | 显示全部楼层
使用调试器查看              
linfelix 发表于 2025-6-18 22:56 | 显示全部楼层
添加 ​​软件校验与超时机制​​,过滤错误数据。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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