printf打印中文乱码有两种可能

  1. 使用printf函数的文件编码格式不对
  2. 串口调试软件不支持中文编码

环境为 IAR STM32F407

printf("test1 \r\n");

printf("测试输出 \r\n");

打印字符是正常的,打印中文就乱码

 

发现是文件的编码不对

 

 

所以使用记事本打开使用到了printf函数的文件确认编码为ANSI,

如果不是点击另存为,选择编码方式为ANSI,替换原文件即可

编译测试正常

如果你文件编码都是正确的,在串口助手上显示有时候乱码有时候正常,那就是串口软件的问题,换一个试一试

发表评论

你的电子邮件地址不会被公开 * 为必填字段

提交评论