独闷闷网

标题: 为什么调用液晶屏自带字库来显示汉字,有某些汉字显示不出来?已解答。 [打印本页]

作者: jianhong_wu    时间: 2016-10-30 10:28
标题: 为什么调用液晶屏自带字库来显示汉字,有某些汉字显示不出来?已解答。
问:
为什么调用液晶屏自带字库来显示汉字,有一些汉字显示不出来?

★坚鸿-深圳:
这个问题一般是跟屏或者字库芯片无关。往往是工程师用的C51编译器的bug引起的。我以前在51单片机的C51编译器上遇到过这个问题,而stm32的C编译器不会有这个问题。比如,当初我用C51去调用字库芯片的汉字,显示"数控系统"这四个字的时候就会乱码,那怎么办呢?这个是C51编译器本身的漏洞,它把某些汉字转换成机内码时容易出错,然后我直接用外部软件先把汉字人工翻译成十六进制的机内码再调用此数组,奇迹出现了,可以正常显示了。比如:

原来的:
  1. unsiged char string[]="数控系统";
复制代码

应该改成十六进制汉字机内码的形式,如下:
  1. unsiged char string[]=
  2. {
  3. 0xCA,0xFD,  //“数”的汉字机内码
  4. 0xBF,0xD8,  //“控”的汉字机内码
  5. 0xCF,0xB5,  //“系”的汉字机内码
  6. 0xCD,0xB3,  //“统”的汉字机内码
  7. 0x00        //'\0'字符串末尾的0结束符
  8. };
复制代码







欢迎光临 独闷闷网 (http://www.dumenmen.com/) Powered by Discuz! X3.2