软件版本uVision V5.14.1
用STC的单片机控制个12864屏,刚开始调试显示汉字和英文都正常。后要显示“计数”时,出现“计室”的错误文字。再测试,发现当出现“三”时也会出现错误。
测试屏里字库是有这两个字的,测试方法是查找字码,用WriteDataLCD直接发字码高低字节。
【疑点、重点】:编译时发现,当出现“数”或是“三”时,编译出来的就会比用其他字代替时少1个字节。比如Print(“计数”);用Print(“计时”);替换。
【请教】
1、请大家帮我分析下,是怎么回事。
2、用什么方法能看到编译Print(“计数”);这个编译结果?想查看下编译的字码出了什么问题。
函数(显示位置定位是另一个函数,且无显示位置的夸行等异常)
void Print(u8 code *str)
{
while(*str!='\0')
{
WriteDataLCD(*str);
str++;
} |