(相关资料图)

最近又用到了LCD12864液晶屏,而且是并口的,就从STC-ISP的范例程序中借鉴了一下,如下图所示。

我们看到显示汉字是正常的。

在用VS Code编辑的时候,由于注释中的汉字出现乱码,便把编码方式由GB2312改为UTF-8,再经Keil编译之后,下载到STC15W4K48S4中,显示就成了这样子:

以为是Keil原来的0xFD问题,在汉字后面都加了\xfd,还是不行,最后才发现是把C源文件的编码方式由GB2312改为UTF-8的原因,汉字的这两种编码方式是不同的,而12864汉字库用的是GB2312的编码。

把C源文件的编码由UTF-8改为GB2312之后,大部分汉字的显示正常了,但是含0xFD的汉字,问题依然存在,不过只要在它后面加上“\xfd",就可以正常显示了。比如过字,我们在网上查它的编码如下:

所以在程序中需要这样处理:

下面是正常显示的画面。

编译器已经是9.60了,看来Keil是不打算解决这个问题了。

花了不少时间才解决问题,所以作此文便于以后查阅,也希望对遇到同样问题的朋友们有所帮助。

推荐内容