使用hal库函数
情况:
在使用串口输出中英文混合字符时,
遇到了英文和数字正常显示,
中文出现乱码的情况,
进一步查看,发现串口调试助手显示16进制时,相同位置中文和乱码的16进制都是一样的,所以并不是串口输出错误。
原因:
每个英文由一个十六进制数组成,而每个汉字由两个十六进制数组成,所以,原因就是显示时,对汉字的组成出现了错误,将前后相邻的两个汉字,各自取了一位16进制数,组成汉字显示,因此出现乱码。
解决:
在每段串口输出的字符的后面,加上"\r\n",让串口知道,应该在哪里结束,在哪里开始,就不会出现乱码了。
此外,当串口连续输出多端文字时,每段文字加上一点延时。
hal_delay(100);
如果觉得《stm32 串口输出 中文乱码》对你有帮助,请点赞、收藏,并留下你的观点哦!