独闷闷网

 找回密码
 立即注册
搜索
查看: 2826|回复: 0
打印 上一主题 下一主题
收起左侧

[原创] 为什么调用液晶屏自带字库来显示汉字,有某些汉字显示不出来?已解答。

[复制链接]
跳转到指定楼层
楼主
发表于 2016-10-30 10:28:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
问:
为什么调用液晶屏自带字库来显示汉字,有一些汉字显示不出来?

★坚鸿-深圳:
这个问题一般是跟屏或者字库芯片无关。往往是工程师用的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. };
复制代码


乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2024-5-4 08:55 , Processed in 0.150578 second(s), 17 queries .

快速回复 返回顶部 返回列表