关于DMA正在传输的时候停止DMA的问题

2019-07-21 02:09发布

举个例子说吧,比如现在DMA正在往IIS送音频数据,然后有可能一个buffer的数据还没有送完的时候需要停止播放,然后这个时候就disable DMA,接下来在继续enable DMA,这种情况下的话DMA是会继续从刚才停止的地方开始继续传输数据呢,还是说又从buffer的开头开始传输数据呢?如果使用双缓冲区的时候又是个什么情况呢?不知道有没有朋友研究过这个?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
正点原子
1楼-- · 2019-07-21 02:11
没有研究,不过楼主可以自己测试下,得出结论。
阿法尔大胡子
2楼-- · 2019-07-21 06:06
回复【2楼】正点原子:
---------------------------------
昨天用串口的DMA测试了一下,DMA_SxCR->CT表示指向的是buffer0还是buffer1,开起双缓冲的情况下硬件会在切换buffer的同时自动置位和复位.然后关于停止和启动的问题,一句话总结就是启动DMA的时候,DMA会从DMA_SxCR->CT指向buffer的首地址开始传输数据.

一周热门 更多>