在数据手册里,关于Keil的0xFD问题的章节,解决FD问题,只给出了官方提供的在问题字符后面添加 “\xFD”的方法,以及列出了问题汉字的清单。
虽然可以解决问题,但是每次按照清单逐一比对,过程比较麻烦。
在AIapp-ISP里的文字生成工具里,有个更贴心的【自动修补】功能。
因为如果在屏幕程序里需要输入汉字等字符,通常都会伴有先取模的过程;如果用的是字库芯片,把字符串一股脑放进去,也可以瞬间直观看到是哪个字符出的问题。
所以个人建议,既然是STC官方的数据手册,应该把这个独有的、更好用的方法,也介绍进去。一方面是更好推广自己的软件,更重要的是这个功能的确可以大大减轻查找问题字符时的工作量。
(关于解决0xFD问题,搜遍论坛都没有提及这个方法的内容)


////////////////////////////////////////////////////////////////////////////////////////
顺便,手册里给出了GB2312编码里的所有问题汉字的清单
根据编码表,还有两个全角字符的八位,也是FD:
向下箭头 "↓",和右大括号 "}"
也是比较常用的字符,可以补充进问题字符的清单里。
因为在实际使用中,不论是自己取模,还是用带字库的ST7920的LCD12864(包含的是GB2312字库),也会遇到同样的问题。


////////////////////////////////////////////////////////////////////////////////////////
令外感觉有意思的是,虽然官方解释是字符编码0xFD、0xFE和0xFF由C编译器内部使用,但是实际只有编码低八位是 FD 的字符不正常,而 FE 的却没有影响。
