简介
在将之前的工程使用Notepad++修改代码后,加载到现有工程中,使用串口打印输出测试串口功能,发现输出的中文字符全为乱码。对照keil设置,确保与之前工程中设置一样,莫名的就是不能输出中文字符。
解决过程
此处串口已输出为乱码,说明移植过来的fputs代码没问题(一直在用),可以输出。下面指出可能出现乱码的几处。
首先,检查的就是波特率,确认代码中的波特率与串口助手中的一致。
然后,检测keil设置Usb MicroLIB确认勾选。
再检测keil编译器的编码设置,是否为Chinese GB2312,打开方式Edit->Configration。
以上配置都没问题,代码编写也没问题,串口输出就是乱码!
最终参考:01_STM32串口printf中文乱码解决方法_stm32printf输出文字为乱码_Tree-gg的博客-CSDN博客
我这里使用Notepad++直接打开编辑,打开编码发现我的Notepad++默认编码为UTF-8。将编码重新改ANSI编码保存,在次下载问题解决。
总结:文章来源:https://www.toymoban.com/news/detail-529274.html
以前也遇到过不能输出中文,或者输出中文乱码,按照前面三个点去查找修改也就解决问题了。但是之前是直接将代码复制到keil工程下修改,而此次修改代码是直接用Notepad++修改,导致编码格式放生变化。此处将几个可能出现乱码的地方进行整理,希望能够帮助到遇到同样问题的朋友。文章来源地址https://www.toymoban.com/news/detail-529274.html
到了这里,关于STM32串口映射printf——发送中文字符乱码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!