先初始化串口配置再初始化IO, 会出现第一个字符丢失或者乱码
打印前先执行USART_ClearFlag(USART1,USART_FLAG_TC);
那么当我们复位之后通过USART_SendData函数向USART_DR寄存器写入第一个字节,然后通过while查询TC标志的时候,因为TC初始值是‘1’,所以直接就跳出了while,哪怕此时串口并没有开始发送!第一字节就是这样被跳过去了。。
第一字节消失的解决方案:调用USART_SendData函数之前,先将‘TC’标志位清‘0’就OK