发新帖我要提问
12
返回列表
打印
[STM32G0]

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

[复制链接]
楼主: 万图
手机看帖
扫描二维码
随时随地手机跟帖
21
西洲| | 2025-6-14 21:09 | 只看该作者 回帖奖励 |倒序浏览
优化中断优先级,提高DMA和USART中断的优先级,减少被其他中断延迟的可能性

使用特权

评论回复
22
她已醉| | 2025-6-14 22:00 | 只看该作者
调整缓冲区大小,根据实际数据量增大DMA缓冲区,确保足够存储接收的数据

使用特权

评论回复
23
春日负喧| | 2025-6-15 10:30 | 只看该作者
中断优先级设置不合理,若DMA或串口中断优先级过低,可能被其他高优先级中断延迟处理,导致数据接收不及时。例如,当高优先级中断频繁触发时,DMA中断可能无法及时响应,造成数据丢失

使用特权

评论回复
24
earlmax| | 2025-6-15 21:59 | 只看该作者
偶尔丢字节且伴随校验错误              

使用特权

评论回复
25
nomomy| | 2025-6-16 15:13 | 只看该作者
如果DMA缓冲区的大小设置不当,可能会导致数据溢出或丢失。

使用特权

评论回复
26
plsbackup| | 2025-6-16 15:44 | 只看该作者
排查 ​​硬件线路干扰​​              

使用特权

评论回复
27
gygp| | 2025-6-16 17:22 | 只看该作者
在DMA传输完成中断中,如果立即切换到其他操作(如切换收发模式),可能会导致数据未完全传输就被中断,从而丢失数据。

使用特权

评论回复
28
plsbackup| | 2025-6-16 18:53 | 只看该作者
避免在发送函数内部定义局部数组作为发送缓冲区,因为这可能导致指针在发送过程中被释放。

使用特权

评论回复
29
ccook11| | 2025-6-16 19:51 | 只看该作者
如果数据传输速率过高,可能会超过串口的处理能力,导致数据丢失。

使用特权

评论回复
30
phoenixwhite| | 2025-6-16 20:22 | 只看该作者
DMA传输完成中断处理不当              

使用特权

评论回复
31
mmbs| | 2025-6-16 21:15 | 只看该作者
如果串口中断处理不当,可能会导致数据丢失。

使用特权

评论回复
32
adolphcocker| | 2025-6-16 21:37 | 只看该作者
​​DMA/串口中断优先级​​,确保及时响应。

使用特权

评论回复
33
louliana| | 2025-6-17 11:13 | 只看该作者
中断优先级设置不当,可能会导致数据接收被延迟处理,从而引发丢包。

使用特权

评论回复
34
jkl21| | 2025-6-17 11:54 | 只看该作者
适当降低串口的波特率,确保数据传输速率在串口的处理能力范围内。

使用特权

评论回复
35
xiaoyaodz| | 2025-6-17 12:51 | 只看该作者
缓冲区大小与数据长度不匹配              

使用特权

评论回复
36
tifmill| | 2025-6-17 15:41 | 只看该作者
硬件问题也可能导致数据丢失,例如信号线接触不良、电源不稳定等。

使用特权

评论回复
37
xiaoyaodz| | 2025-6-17 16:08 | 只看该作者
中断未及时处理导致缓冲区溢出              

使用特权

评论回复
38
LLGTR| | 2025-6-18 20:29 | 只看该作者
中断处理需先设置标志位,然后根据标志位判断中断原因,执行相应操作

使用特权

评论回复
39
sanfuzi| | 2025-6-18 22:14 | 只看该作者
使用调试器查看              

使用特权

评论回复
40
linfelix| | 2025-6-18 22:56 | 只看该作者
添加 ​​软件校验与超时机制​​,过滤错误数据。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则