keil for 51 汉字显示问题

11 篇文章 3 订阅

最近用STC8 单片机做一个电子锁相关的项目,用到OLED显示一些汉字,本来没什么问题的,很简单,但是在做指纹录入删除时,OLED显示删除总是不对,甚至影响其他部分显示,检查文件编码方式GB2312没问题,然后又检测字符文件,没问题,后来甚至一度怀疑OLED底层显示汉字问题。最后百度一下,发现原来这个是keil for 51的问题,汉字一般情况下都是占两个字节,下面GB2312汉字,第二个字节为0xfd

褒 饼 昌 除 待 谍 洱俘庚过

糊 积 箭 烬 君 魁 例笼慢谬

凝 琵 讫 驱 三 升 数她听妄

锡 淆 旋 妖 引 育札正铸

佚 冽 邶 埤 荦 蔟 摭啐帻猃

恺 泯 潺 妪 纨 琮 椠辇挲臊

忑 睚 铨 稞 瘕 颀 螨簖酏觚

鳊鼾

但是在keil for 51中将0xfd忽略掉了,从而导致汉字显示错误问题。

解决方法

在做字库时,遇到上述汉字时,在后面加上\xFD, 调用时也加上\xFD

/** 简单的汉字字库 */
code uint8_t F14x16_Idx[] = 
{
	"删除\xFD正\xFD数\xFD"
};


OLED_Print(10, 2, " 删除\xFD");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值