西洲 发表于 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

添加 ​​软件校验与超时机制​​,过滤错误数据。
页: 1 [2]
查看完整版本: 串口DMA收数据总是丢几个字节?