我参考了网上的UART+IDLE+DMA的例程,使用串口空闲中断实现DMA接收。
串口1单独DMA接收可以实现,串口2单独DMA接收也可以。但是两个串口一起开启DMA接收就会出现:
串口1接收正常,串口2开始接收,串口2无数据,串口1在正常数据后面出现乱码部分。
我猜测:是两路公用一个缓冲区是否需要清缓冲区?还是同一时间只能一个DMA通道可以运行呢?
如何协调才能使多串口DMA接收成功(不需要发送)呢?请各位大神指点一二。(我是用的是STM32F429的板子用的是HAL库)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
各有好处,一般定长的数据直接用dma中断我个人觉得方便些
是的是的,昨晚调出来了,确实不能一个stream
感谢感谢
一周热门 更多>