原创 Keil 0xFD Bug

2010-7-27 08:58 3837 19 19 分类: MCU/ 嵌入式

单片机到手(PS:编译软件,ISP下载软件提前两天都开始待命了),迫不及待地更新了程序,通过USB接口和复位键,ISP下载实在是太方便了。重启单片机-调整时间-OK,本应该显示“星期三”,却只显示了“星期   ”(昨天5月13日 星期三),程序错了?不会啊,跟星期显示相关的程序不过几十行,关键只有几行,反复检查没有问题。后来发现问题出在‘三’上,液晶屏怎么也显示不了‘三’,液晶屏不会有问题吧。于是写了一个最简单的显示程序,只显示一个汉字,反反复复试验,发现不只是‘三’凡是ASCII码中包含0xFD的都不行,仔细研究了hex文件后,加上0xFD,液晶显示正常。问题终于确定出在Keil这个大神身上。


百度Keil 0xFD ,原来这是一个早已臭名昭著的Bug,可已经折腾我这个新手好四个小时,费这么大劲!


解决方法两个:


①下个晓奇工作室出的补丁,自己搜一下。


②用十六进制编辑软件如HexEdit打开c51.exe,搜索80FBFD,改为80FBFF即可。


    c51.exe位置:Keil安装目录/keil/c51/bin/c51.exe


我用第二种方法,向提供方法的前辈们致敬!此时已经是5月14日凌晨两点了,赶快休息!



注:绕了这么大一圈,起床后决定把它记录下来。这个过程也是很有收获的,如知道了‘Hex文件校验和’的算法,自己以后可以对Hex文件进行简单的修改了,等……

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
19
关闭 站长推荐上一条 /3 下一条