UART DMA 设计问题

发布于 2020-07-20 20:46:24

UART DMA 功能我觉得这个不合理,我尝试使用UART-DMA接收,设置缓存4096,半满2048就会猝发中断,最后一个接收包就会被分割成两次接收。我觉得会造成麻烦。一般来说没系统状态,DMA空闲中断来接收,接收到,把DMA接收地址复位就可以了,这个可以保证每次都接收到1个包,而非两个。如果设置成UART-DMA,除非在定长接收包状态比较有利,如果不定长那么就会增加很多包判断机制。那就只能使用中断模式进行接收,会造成相当大的困扰。就不知道,怎么时候接收包就被莫名分割了,那就没办法进行数据处理了,在没固定包头包尾的情况下

查看更多

关注者
0
被浏览
270
1 个回答
陈斌
陈斌 2020-11-11

可以尝试用官方的做法加个接收线程,然后再传给用户线程

也可以尝试吧半满中断关掉,只有空闲中断触发

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览