回复第 6 楼 于2014-02-19 21:16:45发表:
因为你在程序中,使用了
while(!USART_GetITStatus(USART1, USART_IT_TC));
如果你将这个TC标志,换成
USART_FLAG_TXE,也就是
while (!USART_GetFlagStatus(USART1, USART_FLAG_TXE));
那样就正常了。
USART_IT_TC和
USART_FLAG_TXE是STM32中很容易出问题的标志,参考手册上讲的很明白
在这个while之前不是已经发送过数据了,等待TXE标志清除?
回复第 6 楼 于2014-02-19 21:16:45发表:
因为你在程序中,使用了
while(!USART_GetITStatus(USART1, USART_IT_TC));
如果你将这个TC标志,换成USART_FLAG_TXE,也就是
while (!USART_GetFlagStatus(USART1, USART_FLAG_TXE));
那样就正常了。
USART_IT_TC和USART_FLAG_TXE是STM32中很容易出问题的标志,参考手册上讲的很明白
在这个while之前不是已经发送过数据了,等待TXE标志清除?
举报