陈家乐 发表于 2025-9-24 00:06:34

【STC32G12K128屠龙刀】OLED显示汉字问题 | 已知道原因

我最近重新在空闲之余拿起了STC32G12K128屠龙刀的板子,配合着AICube进行了SPI硬件的配置并驱动了OLED12864屏幕,但是现在显示一串字符串时,发现了问题,为什么我显示字符串时,汉字"正"无法显示,直接忽略跳过,后面那一些汉字也跳过了,把"正"的索引码改成"证"等类似的其他汉字索引时,却没有问题,如图所示

https://www.stcaimcu.com/forum.php?mod=image&aid=115959&size=300x300&key=872f34a7a8d6497c&nocache=yes&type=fixnone


这个是索引码为"正"的,可以看到没有显示"正确"的字符串










这个是索引码为"证"的,可以看到可以正常显示"正确"二字,我没有改点阵码,只是改了索引码!
为什么会这样子?百思不得其解!




这是我的OLED驱动显示单个汉字和一串汉字的代码!
我会把代码的压缩包附在帖子中,请大佬指正!




陈家乐 发表于 2025-9-24 00:55:25

我貌似知道原因了,是Keil的bug,今天刚好遇到了,是0XFD的编码都不行

神农鼎 发表于 2025-9-24 09:22:28


陈家乐 发表于 2025-9-24 12:57:38

神农鼎 发表于 2025-9-24 07:22


对的

suixilpc 发表于 2025-10-3 21:15:50

冲哥在AI8051视频里好像讲过这个要注意的事项

陈家乐 发表于 2025-10-4 01:01:01

suixilpc 发表于 2025-10-3 19:15
冲哥在AI8051视频里好像讲过这个要注意的事项

自学的,没时间看冲哥的视频

大明狐 发表于 5 天前

陈家乐 发表于 2025-9-24 00:55
我貌似知道原因了,是Keil的bug,今天刚好遇到了,是0XFD的编码都不行
STC的文字取模工具里,有关于 0xFD 的索引修补功能。
在【自定义格式】的设置窗口里,勾选【自动修补Keil的0xFD问题】之后,生成的字库里,识别到有0xFD问题的字符,会自动补上转义字符“\xFD”。


在GB2312编码的Keil里调用的时候,字符串里对应的字符后面也要加上“\xFD”。

    User_OLED_Display_String_Cn( 0, 0, ”正\xFD确" );


这样就可以正确识别和显示了。




陈家乐 发表于 5 天前

大明狐 发表于 2025-10-11 10:08
STC的文字取模工具里,有关于 0xFD 的索引修补功能。
在【自定义格式】的设置窗口里,勾选【自动修补Keil ...

嗯嗯,我看到了,加上了,解决了!
页: [1]
查看完整版本: 【STC32G12K128屠龙刀】OLED显示汉字问题 | 已知道原因