查看: 2352|回复: 9

[其他] 每天解决一个问题3 :你未发现的keil C51汉字bug

[复制链接]
  • TA的每日心情
    擦汗
    2021-9-9 22:51
  • 签到天数: 415 天

    连续签到: 1 天

    [LV.9]以坛为家II

    79

    主题

    3088

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    5181
    最后登录
    2022-5-23
    发表于 2015-8-27 22:34:02 | 显示全部楼层 |阅读模式
    ------------------------------------------------------------------------------------------------------------
    每天解决一个问题3 :你未曾发现的keil c51 汉字bug

      上一期我讲了比较全面的MCU显示中文字库的方法,但是在实际项目中,有些IDE对于特定字符却不能够正确的“翻译”汉字的机内码,导致你所取字模位置异常,最终显示汉字乱码,而这个IDE就是KEIL C51。这也是万恶的keil存在的一个臭名昭著的bug,也一直没有修复。
    (这个问题只有在实际项目中才会发现,一般不怎么会注意的)

    1.问题简介:
    汉字字符机内码应该是两个字节,分高低2个字节,2个字节都大于127,当然并小于256。
    西文字符机内码就是ACSII值,一个字节,数值小于128;
    在汉字机内码传替时,低位如果是0XFD将会被“翻译”成0X00!


    2.实际举例:
    "数","正","过"
    正确的机内码应该是:0xcafd, 0xd5fd, 0xb9fd;
    真实的传替的数值为:0xca00,0xd500,0xb900。
    所以你显示的汉字自然错了!


    3.修复工具:
    ccxx.jpg
    ccKeilVxx.rar (11.35 KB, 下载次数: 1)

    评分

    参与人数 1NXP金币 +15 收起 理由
    小七 + 15

    查看全部评分

    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    该用户从未签到

    19

    主题

    401

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1114
    最后登录
    2017-8-16
    发表于 2015-8-28 08:40:56 | 显示全部楼层
    MDK适用吗??
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
    发表于 2015-8-28 09:09:40 | 显示全部楼层
    这个原来是修复汉字BUG的,一直以为就是个普通补丁。。。
    freescaleic.org.png
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2017-1-4 20:13
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    18

    主题

    1093

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1679
    最后登录
    2019-4-30
    发表于 2015-8-28 11:11:43 | 显示全部楼层
    好吧,支持一下
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8

    主题

    569

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2117
    最后登录
    2018-2-1
    发表于 2015-8-28 16:35:47 | 显示全部楼层
    学习了,先MARK ,
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-9-9 22:51
  • 签到天数: 415 天

    连续签到: 1 天

    [LV.9]以坛为家II

    79

    主题

    3088

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    5181
    最后登录
    2022-5-23
     楼主| 发表于 2015-8-28 22:32:23 | 显示全部楼层

    MDK 暂时还木有机会用过(针对字库)。
    IAR,ADS等等用的字库都没有问题,有机会试试看有没有这个BUG
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-9-9 22:51
  • 签到天数: 415 天

    连续签到: 1 天

    [LV.9]以坛为家II

    79

    主题

    3088

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    5181
    最后登录
    2022-5-23
     楼主| 发表于 2015-8-28 22:32:43 | 显示全部楼层
    JackieLaura 发表于 2015-8-28 09:09
    这个原来是修复汉字BUG的,一直以为就是个普通补丁。。。

    嗯嗯……
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-9-9 22:51
  • 签到天数: 415 天

    连续签到: 1 天

    [LV.9]以坛为家II

    79

    主题

    3088

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    5181
    最后登录
    2022-5-23
     楼主| 发表于 2015-8-28 22:33:30 | 显示全部楼层

    小知识,很实用的
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8

    主题

    569

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2117
    最后登录
    2018-2-1
    发表于 2015-9-8 09:57:03 | 显示全部楼层
    ALTIUM2 发表于 2015-8-28 22:33
    小知识,很实用的

    确实如此,再次感谢楼主分享,
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-9-9 22:51
  • 签到天数: 415 天

    连续签到: 1 天

    [LV.9]以坛为家II

    79

    主题

    3088

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    5181
    最后登录
    2022-5-23
     楼主| 发表于 2015-9-8 21:31:07 | 显示全部楼层
    淘气坏坏 发表于 2015-9-8 09:57
    确实如此,再次感谢楼主分享,

    为人民服务
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-20 22:38 , Processed in 0.107996 second(s), 31 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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