DMA UART 485接口 发送数据缺少字节

2019-07-21 00:14发布

程序使用DMA发送,开发送中断, 中断里关485发送. 结果发现发送出去的字节少了并且最后一个字节不对.
以为DMA中断已经发生,代表数据已发送完成,马上关485发送, 但数据还要经过UART外设, 不要忽略这个.  
解决问题的办法就是在中断里检测UART发送完成标志. 然后再关485发送. 数据就能通讯正常.
                while(!USART_GetFlagStatus(USART3, USART_FLAG_TC))
                {               
                }
                USART_ClearFlag(USART3,USART_FLAG_TC);

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。