关于DMA和中断的问题

2019-07-20 06:09发布

本帖最后由 老李的森林 于 2018-9-14 09:06 编辑

STM32F7
DMA在访问SDRAM时,因为数据量大,所以需要的时间会比较长。假如此时发生中断,也要访问SDRAM,
此时会发生什么情况,DMA会被打断么,
这种打断的情况是否可以让用户选择。




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
edmund1234
2019-07-20 11:34
情况分两种,
一) 是DMA循环的把abc_buf的内容送到usart_DR去, 而你在同时有需要也在读写abc_buf的内容
二) 是DMA循环的把abc_buf的内容送到usart_DR去, 而你在同时有需要也在读写RAM的其它区域

二)是不会有问题
一)读是不会有冲突的, 而写则有方法避开, DMA有个buffer半满或全满的标志或中断, 让你确定DMA正在读哪儿的RAM, 便可让DMA与你的读错开, 比如DMA在读前半段abc_buf, 后半段的你可以写, 相反, DMA在读后半段时, 前半段你可以写

一周热门 更多>