STM32串口打印出现的中文乱码和首字母消失问题

首字母消失:是在打印前没有先执行USART_ClearFlag(USART1,USART_FLAG_TC);
至于原因,我曾经见到一位大神仔细的分析过,不过我忘了,大概的就是因为,单片机读取寄存器先后而导致的。

中文乱码:这里中文乱码,首先你要确定你不是数字英文也乱码,如果是数字英文也乱码,那可能的原因就比较多了:比如波特率不对,TTL线却用了232线,USART配置没对,硬件本身坏了等等,有时还需要通过示波器看波形确定。这里讲的中文乱码则是由于在MDK编辑下使用了“非ANSI”的文字编码格式,你需要做的就是把这个文件用notepad++打开,选择编码->转为ANSI编码,保存,就搞定了。

猜你喜欢

转载自blog.51cto.com/11372477/2345406