当前位置: 首页 > 新闻中心 > 乐球吧nba在线直播
返回
列表

为什么RT-Thread Studio串口屏会输出乱码呢

发表时间: 2024-03-05 作者: 乐球吧nba在线直播

  工程中用了 尚视界 的串口屏,芯片是stm32f407zet6,裸机写的程序能正常在屏幕上显现,在用rt_thread studio 生成的rt_thread编写的程序运用串口1驱动屏幕时,发现数字字母显现正常,中文显现乱码。

  屏幕字库是GB2312编码,所以我将编译器调整为GB2312,并将串口信息打印到电脑,发现在串口帮手也是GB2312编码时,显现也是乱码,将串口帮手编码改成utf—8时,反而显现正常。

  第二步,把裸机程序和串口调试帮手相连,发送一个中文字符序列,串口调试帮手里显现十六进制格局,把这个十六进制格局字符序列复制下来。

  第三步,把 studio 生成的程序跑起来和串口调试帮手相连,发送相同的中文字符序列,串口调试帮手显现十六进制格局,和上面的十六进制字符比较。

  确实是这样,测验两个字的ascII码不一样了,可是十分形而上学的是,正确的程序是我从头生成的RT_Thread,直接main函数里写的。。。。

  是不是在转化编码的时分软件出bug了,导致实际上并没有依照设置的GB2312来编译

  由于我新生成的,可以顺畅在串口屏显现的,编码GB2312的程序,在GB2312编码的串口帮手上是正常显现的;

  不同的编译器,不同的 IDE 对源码文件的编码格局不一样。studio 运用的 gcc 编译器,源文件编码格局也是 UTF-8 ,导致你发的字符是 UTF-8 编码的,前边你的裸机程序应该是 GBK 编码的。一了百了,统筹一切程序就用上面我说的办法

  【英飞凌PSoC 6 RTT开发板试用】以搭积木方法完成简略的互联型家庭网关

  【材料活动】从入门到提高,嵌入式linux常用电子书教程合集(共47本)