原文链接:https://www.yourcee.com/newsinfo/2929612.html
前言
遇到arduino串口输出的数据乱码这个问题的时候一度以为是串口助手有问题,因为在arduino自带的串口监视器里面输出的中文是正常的
第一步
操作:更换串口助手,包括XCOM
、安信可串口助手
、COM-HC
、甚至STC下载软件里面的串口也试过,开始判断估计不是串口助手的问题,毕竟这么多串口助手不太可能都有问题
第二步
:更改波特率,无效
第三步
:开始尝试输出英文,数字以及一些奇怪的字符,结果都是正常的,唯独只有中文
是不正常的
突然想到会不会是编码格式
的问题,下面着手测试确定
串口输出中文
默认编码输出
编写串口输出代码如下,115200
波特率,输出中文 您好!
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
}
void loop() {
// put your main code here, to run repeatedly:
Serial.println("您好!");
delay(1000);
}
记得加上 1秒
延时,不然串口会疯狂输出,加上回车
方便观察!
打开arduino串口监视器
查看
arduino串口监视器输出正常
接着打开XCOM
串口监视器查看输出,记得关闭原来arduino的串口监视器不然XCOM会打不开
输出乱码
,到这里不要迷惑,已经在我们的预料之中了
修改编码
找到刚才的工程,右键选择打开方式用记事本打开
,这个时候比较有趣的是我们可以看下记事本打开的工程右下角显示的编码为UTF-8
不深究这个编码他有什么问题,用记事本打开之后另存为,另存的时候右下角可以选择保存的编码,将编码选择为 ANSI
之后保存
保存好 ANSI
编码之后重新用arduino打开工程,可以看到代码中的中文变成了乱码,重新输入
中文 您好!
,编译上传
打开arduino串口监视器
输出乱码
继续,关闭arduino串口助手,打开 XCOM
查看数据
输出正常
总结
中文输出乱码的主要原因是arduino采用的UTF-8
输出与外部的串口监视器不兼容导致,我们只需要将对应的编码格式
修改为匹配的即可文章来源:https://www.toymoban.com/news/detail-448087.html
也相信同样有不少人碰到其他的问题可以在下方留言大家探讨解决,感谢大佬们的一键三连!文章来源地址https://www.toymoban.com/news/detail-448087.html
到了这里,关于arduino输出中文到串口助手乱码问题(已解决)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!