结构体初始化中DMA_DIR设置数据传输方向,设置为从内存读取数据发送到串口,那么不应该是使能串口DMA的接收吗?为什么是使能...

2019-07-20 11:59发布


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
513393302@qq.co
2019-07-21 10:09
楼主,可能你还是没有理解DMA。我个人的理解为DMA是一个辅助型外设,它的作用就是实现数据的“搬运”,是来帮助外设来搬运数据的。
从你说的例子,DMA来辅助串口外设,那么就是DMA来代替CPU来读取串口缓存数据或者代替CPU来向串口缓存写数据。比如我们想要串口发送数据,都是直接向串口的发送缓存写要发送的数据,串口就会把这个数据发送出去,这个是CPU来实现的,CPU把数据搬运到串口缓存,如果采用DMA,那么这个工作就由DMA来代替CPU来实现了。
所有DMA它单独工作是没有意义的,需要配合对应的外设,DMA只是实现数据的搬运,真正的功能还是要外设来实现。

一周热门 更多>