发一个讨论贴

2019-07-21 00:17发布

小弟在用SMT32F4的DMA双缓存搬运数据的时候,要求必须设置一个传输完成中断。我在调试的时候,发现进入中断的时候两个缓存数组都装满了数。那么疑惑来了
第一,MCU进中断后,DMA是否还在搬运数据?
第二,我认为最理想的中断信号,应该是在其中一个缓存数组装满就发出,这样我们是不是可以在中断里设一个flag置位,然后退出中断,当flag置位,就在主函数的死循环里读装满的数组,这样不影响DMA往另外一个缓存数组里搬运数据。通过这个方式,才真正实现,在读取第一个缓存的时候,DMA在搬第二缓存,在读第二个缓存时,DMA在搬第一个缓存,使DMA不间断更新数据。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。