打印
[STM32F1]

请教各位关于DMA和串口的一个问题

[复制链接]
715|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ujszmc|  楼主 | 2015-7-5 16:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
之前我用USART传输数据,都要等待上一个数据传输结束才能传输下一个数据,而今天我在使用DMA的时候就不需要while(USART_GetFlagStatus(USART2,USART_FLAG_TC)==RESET);   类似的语句来保证上一个数据已经发送完毕,这是为什么呢?
沙发
desertsailor| | 2015-7-5 19:30 | 只看该作者
dma传输时,只有上一个数据传完了才会传下一个数据,这个过程不需人为干预

使用特权

评论回复
板凳
diweo| | 2015-7-5 20:55 | 只看该作者
设计DMA的目的就是减少CPU干预,让CPU可以专心做别的事情。如果还要while的话,CPU不就脱不了身?

使用特权

评论回复
地板
fanxsd| | 2015-7-5 23:06 | 只看该作者
DMA 就是 为了 减轻CPU的工作负担的。用了DMA 再用WHILE 那DMA 就没有意思了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

10

帖子

0

粉丝