分享一个TFT彩屏驱动里非常奇怪的BUG顺便请求帮助解答|已解决
本帖最后由 shaoyc 于 2024-11-15 14:09 编辑在使用STC32G12K128官方实验箱9.62版本中,使用Kcer001淘宝店购买的TFT彩屏,驱动使用的例程37的TFT测试程序,但是在调试移植的过程更改test文件里的main_test中的显示文字的时候,出现很奇怪的问题,在修改了字库的情况下“数”这个字无法成功显示,在我控制变量法排查下,最后选择用“书”代替“数”的检索,字模使用"数"这个字的字模,却能成功显示,这个是为什么,我增别的字模都没问题。
PS:四张程序图的顺序分别为,显示失败直接使用“数”检索的进程函数(1)和字库(2)、显示成功使用谐音“书”代替“数”检索的进程函数(3)和字库(4)
本帖最后由 shaoyc 于 2024-11-15 13:57 编辑
显示成功的和显示失败的 0xFD问题 shaoyc 发表于 2024-11-15 13:48
显示成功的和显示失败的
这个是经典的0xfd问题,是keil的一个中文bug。
keil在编译的时候拿0xfd当标识了,没考虑到中文场景的编码碰撞。
所以需要使用/xfd数进行标识,具体可以搜索论坛内的0xfd乱码问题,或者直接参阅技术手册附录部分 这是编译器对中文支持的问题,0xfd的问题,编译器碰到机内码带0xfd的就会异常,所以要偏开这些汉字。
以下是涉及0xfd的常用汉字:
褒饼昌除待谍洱俘庚过糊积箭烬君魁例笼慢谬凝琵讫驱三升数她听妄锡淆旋妖引育札正铸佚冽邶埤荦蔟摭啐帻猃恺泯潺妪纨琮椠辇挲臊忑睚铨稞瘕颀螨簖酏觚鳊鼾
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=4598
DebugLab 发表于 2024-11-15 14:01
这是编译器对中文支持的问题,0xfd的问题,编译器碰到机内码带0xfd的就会异常,所以要偏开这些汉字。
以下 ...
非常感谢{:3_59:} 王昱顺 发表于 2024-11-15 14:01
这个是经典的0xfd问题,是keil的一个中文bug。
keil在编译的时候拿0xfd当标识了,没考虑到中文场景的编码 ...
原来是这样{:3_61:}
{:4_167:} 以前用串口打印 升 字,就出现乱码,百度才找到问题所在,说的就是keil的问题。是个老毛病了,从keil4到keil5都有,就是不知道keil6有没有修复,没用过keil6。
页:
[1]