义父们请教DMA丢包问题

各位爷!!!我用DMA中断串口发送6K的数据,多发几次就回出现丢包的问题,请教一下有什么原因会导致这样呢,我的中断里面是一个标志位卡着,防止没执行完数据被覆盖,就只用了一个串口1,原来还得用8个口的。。。。

打字太急了打错了, 中断里面是一个标志位赋值u,标志位的作用的是卡着填充消息的函数


处理的慢了呗


丢包?怎样个丢法?

如果是100kbps及以上开个8K的缓冲区直接一次性发完。

如果是100kbps及以下的开2K的环形缓冲区配合DMA传输一半中断时载入新数据。

这样整,基本上可以逃过那些modbus rtu外设死不要脸的强制要求。


您好,应该是数据处理不及时导致的丢数据,可以参考一下下帖的数据处理方法

https://bbs.21ic.com/icview-3333340-1-1.html

 


只有登录才能回复,可以选择微信账号登录