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

2019-07-20 11:59发布


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
513393302@qq.co
1楼-- · 2019-07-21 10:09
楼主,可能你还是没有理解DMA。我个人的理解为DMA是一个辅助型外设,它的作用就是实现数据的“搬运”,是来帮助外设来搬运数据的。
从你说的例子,DMA来辅助串口外设,那么就是DMA来代替CPU来读取串口缓存数据或者代替CPU来向串口缓存写数据。比如我们想要串口发送数据,都是直接向串口的发送缓存写要发送的数据,串口就会把这个数据发送出去,这个是CPU来实现的,CPU把数据搬运到串口缓存,如果采用DMA,那么这个工作就由DMA来代替CPU来实现了。
所有DMA它单独工作是没有意义的,需要配合对应的外设,DMA只是实现数据的搬运,真正的功能还是要外设来实现。
飞翔的机械人
2楼-- · 2019-07-21 13:32
 精彩回答 2  元偷偷看……
飞翔的机械人
3楼-- · 2019-07-21 13:46
huanghan 发表于 2017-9-13 19:25
DMA通过DMA数据总线发送数据到串口发送缓冲器DR,这样数据就从串口发送出去了

那DMA通过数据总线发送到串口发送缓冲器DR  不应该使能串口接收么?
513393302@qq.co
4楼-- · 2019-07-21 16:15
 精彩回答 2  元偷偷看……

一周热门 更多>