串口输出中文乱码

串口输出中文乱码

串口输出中文乱码

问题产生

最近在使用OpenMV,但是由于没有转接板和软排线来连接串口,不过手上有一块STM32F4的开发板,于是就想到将其作为一个转接,通过其接收OpenMV发送的数据,并将其转发到电脑上,结果串口助手一直输出乱码。

寻找问题产生的原因

一开始以为是自己波特率设置的有问题,但是查验后并不是,PC,OpenMV,STM32之间设置的波特率都是对应的。然后又以为是自己改过STM32F4的时钟频率,然后开始查STM32时钟频率的设置,发现也没问题。怎么也找不到问题在哪。/(ㄒoㄒ)/~~

后来突然想到OpenMV是使用MicorPython语言写的,一般的字符编码为UTF-8,而STM32用的是keil的IDE开发的,编码格式一般为ASNII,两个字符编码不一样也会导致乱码,于是将其都改为UTF-8编码,结果乱码依旧。。。 (╯‵□′)╯︵┻━┻

为了继续查找问题所在,先是将OpenMV发送给STM32数据直接返回OpenMV结果正确,然后将串口助手发送给STM32的数据直接返回,结果正确。由此可以看出,串口助手和OpenMV的字符编码不一致导致的乱码。这里给出一个网址,可以在线转换乱码。乱码恢复 。从中我们可以看到,前后的编码不一致。

至此,找到了问题所在,串口助手不支持UTF-8编码。( ̄_ ̄|||)

解决问题

既然串口助手不支持,那就找支持的串口助手,或者自己开发一个(暂时有点想法)。目前使用的星瞳串口助手,接收结果如下:

总结

串口助手显示中文乱码的原因有以下几点:

波特率不对应。

字符编码不对应。

串口助手不支持字符编码方式。

下面推荐两个串口助手:

星瞳串口助手SingTownSerialport(支持Mac,Windows,Ubuntu)

串口调试助手(Windows)

💫 相关推荐

【盈通显卡专区】报价 评测 导购 图片(YESTON)盈通显卡大全
未来哪个行业前景好
365双试投注是什么

未来哪个行业前景好

📅 11-17 👀 504
淘宝新品每天刷一单很多吗?一天刷多少单合适?
365bet官网是什么

淘宝新品每天刷一单很多吗?一天刷多少单合适?

📅 09-30 👀 8080
特别烦躁,特别想发疯怎么办
365bet官网是什么

特别烦躁,特别想发疯怎么办

📅 09-21 👀 2195
w某y贷贷款期限有多久?w某y贷是什么时候出来的?
365双试投注是什么

w某y贷贷款期限有多久?w某y贷是什么时候出来的?

📅 12-06 👀 4479
十二生肖画肖是哪几个
365bet官网是什么

十二生肖画肖是哪几个

📅 08-18 👀 4856
(15)设置文件属性:attrib
365bet官网是什么

(15)设置文件属性:attrib

📅 06-20 👀 8556
技能系统
365双试投注是什么

技能系统

📅 02-07 👀 3934
秒拍怎么实名认证?实名认证有什么用?2023-06-08 21:41:461999浏览