USART DMA方式发送

2019-10-15 20:58发布

哪位大侠给一个USART DMA发送数据的,使用库函数写的程序啊,谢谢了!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
9条回答
syhx8262516
2019-10-16 09:25
syhx8262516 发表于 2012-9-23 22:50
回复【4楼】 5498折戟沉沙 :
---------------------------------
额,我把代码共享出来吧,是库函数的, ...

参考了您的代码,有如下疑问,请教一下,
发送时,代码中有如下两个等待:       
while(DMA_GetFlagStatus(DMA1_FLAG_TC4) == RESET);
while(USART_GetFlagStatus(USART1, USART_FLAG_TC)==RESET);
第一个理解为:DMA传输完成,
第二个是等UASRT发送完成,
如果程序中还是需要判断usart的TC标志的话,那使用DMA不是还需要CPU等待吗?
DMA的本意难道不是发送不需要CPU参与吗?

但是如果不判断TC标志,如果usart还没发送完成,程序中DMA有可能再次使能,这样会不会有问题?

麻烦大家指点一下

一周热门 更多>