新手刚学习STM32,在串口发送数据的时候遇到了如下问题:
1.串口初始化里开启接收中断,主函数里面写如图所示的程序,即先清除发送标志位,再发送0x31,之后 while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);这样的话串口调试助手里面显示了三个0x31;
2.最后加上delay三个0x31在串口助手连续显示;
3. USART_SendData(USART1,0x31);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);如果只有这两句,串口返回的是两个0x31;
4.调试的时候,发送数据是 while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);这一句。
为什么会出现这种情况,新手表示很费解。求前辈帮忙解答一下,谢谢。 |