在我们学习或者开发12864显示屏(带字库)的过程中,可能大家会遇到我这样的情况。如下:

第三行的“ 数学 ” 两字显示不出来?而第四行却可以,为什么?

答案显而易见,仔细观察的人就发现我第三行跟第四行有个不同的地方就是加了  “ \xfd ”  

我给大家解释解释

这个问题是由于keil本身的固有bug,keil编译器会忽略0xFD值的字符串,导致汉字内码以0xFD结尾的汉字和紧跟着后面的汉字全部显示为乱码,因为它把0xFD丢掉了,导致后面的一大串全是错的。(但是keil官方不认为这是一种bug,所以一直没有去修改这个缺陷)

下面是Keil官方的说明:
http://www.keil.com/support/docs/2618.htm

GENERAL: COMPILER IGNORES 0XFD, 0XFE, 0XFF VALUES IN STRINGS


Information in this article applies to:

  • C166 Compiler All Versions
  • Cx51 Compiler All Versions
  • C251 Compiler All Versions

QUESTION

I have a problem with the interpretation of Russian strings in the Keil C51 compiler. Some Russian characters are using the encoding 0xFD. It looks like this encoding is ignored by the compiler and is not included in the program code.

Example:

code char RussianString[] = "??? ????";

Why does this problem exist and how can I avoid this behavior?

ANSWER

The character encodings 0xFD, 0xFE, and 0xFF are used internally by the C compiler. The ANSI standard only requires support for ASCII characters in the range 0x00 - 0x7F.

You may insert these characters by using HEX encodings in the string as follows:

code char RussianString[] = "My Text" "\xFD";

A simple text replacement which replaces all 0xFD characters with the string '" "\xFD' should do the job.

翻译过来就是:

字符编码0xFD,0xFE和0xFF由C编译器在内部使用。 ANSI标准仅要求支持0x00 - 0x7F范围内的ASCII字符。

您可以在字符串中使用HEX编码插入这些字符,如下所示:

code char RussianString [] =“My Text”“\ xFD”;

使用字符串'“”\ xFD'替换所有0xFD字符的简单文本替换应该可以完成。

****************************************************************************************************************************************

可能有些网友回去修改Keil里面的文件,但不是很建议,因为一旦修改了,对于后面又不知道出现不可想象的错误。

所以我们自己手动添加一个  \xfd    就可以正常显示了。例子就是图片中修改即可。

读者根据下面两个可以对照了解一下

下面是从GB2312中挑出来的相关汉字:

褒 饼 昌 除 待 谍 洱 俘 庚 过

糊 积 箭 烬 君 魁 例 笼 慢 谬

凝 琵 讫 驱 三 升 数 她 听 妄

锡 淆 旋 妖 引 育 札 正 铸

佚 冽 邶 埤 荦 蔟 摭 啐 帻 猃

恺 泯 潺 妪 纨 琮 椠 辇 挲 臊

忑 睚 铨 稞 瘕 颀 螨 簖 酏 觚

鳊鼾

汉字内码以0xFD结尾的汉字都显示不出来

求证如下:

大家尝试把上面的  \xfd  删除,对比一下,就清楚了。

觉得不错,点个赞支持一下!!!

关于12864液晶屏汉字显示问题相关推荐

  1. 无字库12864液晶屏滚动显示程序[转]

    同志们,做实验的时候一定要把端口重新设置成和你的实际硬件一样,不要说我是骗人的,着东西可编了我3个多小时,绝对没问题!记得P0口加上拉,或者用其他端口,如果不显示,参照我的blog中<12864 ...

  2. protues仿真中12864液晶屏串行编程的感想(从实际硬件驱动芯片 ST7565R到仿真硬件驱动芯片SED1565)

    因为疫情的原因,没办法回学校拿毕业设计,自然也就没办法调试,虽然硬件电路都搭好了,但没法调试也就意味着不知道程序编写是否有问题,所以就想着在protues上把硬件电路搭起来调试程序,因为单片机用的是s ...

  3. [arduino][u8g2][12864] oled—u8g2库使用说明(例子是12864液晶屏)

    [arduino][u8g2][12864] oled-u8g2库使用说明(例子是12864液晶屏) 首先说一下写这个文档的目的,一是给自己做个笔记来以备后边使,二是写个文档给大家看,我从网上找了很多 ...

  4. 单片机快速入门:12864液晶屏实现多功能数字时钟

    想要快速入门单片机,就要多动手实践.也许你的手上有不止一块的单片机开发板,但是你有没有亲自动手实现自己的想法?单片机实现数字时钟是一个不错的想法.有12864液晶显示屏.有按键.有DS18B20.最关 ...

  5. 使用Python控制1602液晶屏实时显示时间(附PyCharm远程调试)

    前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 本文介绍一下UP板的GPIO资源使用,以及一个使用Python演示一个简单的demo. 本文使用Markdown写成,为获得更好的 ...

  6. 洋桃技术支持0001:GPIO驱动12864液晶屏需要注意哪些事项?

    [提问]请问洋桃1号开发板的GPIOB端口要使用的话,硬件上和软件上需要注意什么?我想用STM32上的GPIOB端口控制点亮一个20口的12864液晶屏? 解答: [方法论] 1,解决这个问题的方法是 ...

  7. Arduino实现超声波测距+LCD液晶屏实时显示

    Arduino实现超声波测距+LCD液晶屏实时显示 计科在我们学校是完全偏软的.实在是闲的无聊,在家搞起了硬件.好玩呐!!! ************************************* ...

  8. msp430单片机oled汉字字模_OLED液晶屏如何显示中文呢?

    序言 之前我们分享了,如何使用STM32驱动OLED液晶屏,讲了SSD1306控制芯片的驱动,对其驱动时序和常用命令做了介绍,详细请参考下面链接: STM32驱动0.96寸OLED液晶屏 上篇中我们已 ...

  9. LCD液晶屏中文显示介绍

    本文转自:http://www.rationmcu.com/elecjc/356.html 1.导言 和单片机搭配的显示器,有LCD12864.TFT.OLED等.在有些系统中,我们需要显示汉字,可以 ...

最新文章

  1. KG-知识图谱入门-王昊奋课程详细笔记(附课件、课程链接与详细笔记) 内有资源
  2. 基于ESP8266 WiFi控制的步进升降机械平台
  3. 性能领先,即训即用,快速部署,飞桨首次揭秘服务器端推理库
  4. 【新星计划】 Python的txt文本操作-读、写
  5. 为Web程序员解毒:9个IE常见Bug的解决方案
  6. 【双100%解法】剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
  7. 可编程led灯带原理_SCPSD-250-04-27派克真空压力传感器故障和工作原理
  8. 江小白包装设计原型_江小白品牌策划、包装设计成功的点在哪?
  9. 力扣69-x的平方根(解决一个问题:我的答案和题解很像,但是为什么过不了?C++、Java版)
  10. Office 365 Pro Plus 离线安装包及自定义部署工具下载地址
  11. 近7成开发者无开源收入、最想操作系统开源、Java最受欢迎 | 揭晓中国开源开发者现状...
  12. 机器人学导论 一、空间变换(1)位姿,变换
  13. 《朝歌封神录》10.22正式上线链游玩家|山海异闻、奇幻仙侠
  14. 我的世界手机版服务器显示即将推出,我的世界1.11-pre1发布 正式版本官方即将推出...
  15. 无线网dns服务器设置错误,DNS错误怎么办(如何正确设置DNS)
  16. 功能:批量查询和导出工艺路线
  17. linux bridge 抓包,Linux bridge hairpin mode
  18. 服务器芯片和一般电脑芯片的区别,服务器CPU和PC的CPU区别
  19. github软件---百度网盘加速
  20. 原码、补码以及正数/负数的左移和右移

热门文章

  1. 企业如何建设CRM管理理念
  2. 【搞定CAD】你的启动界面怼到甲方爸爸了吗
  3. 判断苹果手机系统版本 判断手机浏览器信息
  4. CSS3 实现圆圈动态发光特效动画的制作
  5. 机器学习算法工程师面试学习经验
  6. 特征值和特征向量的理解
  7. 解决每次新建word都有页眉和页脚
  8. 卡通的平板卧推男孩动画特效
  9. 刷脸支付到来用户连密码都不需要
  10. xcode 如何添加调试设备