找回密码
 立即注册
查看: 704|回复: 9

分享一个TFT彩屏驱动里非常奇怪的BUG顺便请求帮助解答|已解决

[复制链接]
  • 打卡等级:偶尔看看II
  • 打卡总天数:28
  • 最近打卡:2025-02-25 09:46:48

3

主题

4

回帖

173

积分

注册会员

积分
173
发表于 2024-11-15 13:46:39 | 显示全部楼层 |阅读模式
本帖最后由 shaoyc 于 2024-11-15 14:09 编辑

在使用STC32G12K128官方实验箱9.62版本中,使用Kcer001淘宝店购买的TFT彩屏,驱动使用的例程37的TFT测试程序,但是在调试移植的过程更改test文件里的main_test中的显示文字的时候,出现很奇怪的问题,在修改了字库的情况下“数”这个字无法成功显示,在我控制变量法排查下,最后选择用“书”代替“数”的检索,字模使用"数"这个字的字模,却能成功显示,这个是为什么,我增别的字模都没问题。

PS:四张程序图的顺序分别为,显示失败直接使用“数”检索的进程函数(1)和字库(2)、显示成功使用谐音“书”代替“数”检索的进程函数(3)和字库(4)
例程名称.png
test文件main_test函数.png
test文件main_test函数.png
书test.png
书字库.png
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:28
  • 最近打卡:2025-02-25 09:46:48

3

主题

4

回帖

173

积分

注册会员

积分
173
发表于 2024-11-15 13:48:54 | 显示全部楼层
本帖最后由 shaoyc 于 2024-11-15 13:57 编辑

显示成功的和显示失败的
success.jpg
fail.jpg

点评

这个是经典的0xfd问题,是keil的一个中文bug。 keil在编译的时候拿0xfd当标识了,没考虑到中文场景的编码碰撞。 所以需要使用/xfd数进行标识,具体可以搜索论坛内的0xfd乱码问题,或者直接参阅技术手册附录部分  详情 回复 发表于 2024-11-15 14:01
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:424
  • 最近打卡:2025-05-02 14:37:11
已绑定手机

77

主题

4849

回帖

8382

积分

超级版主

DebugLab

积分
8382
发表于 2024-11-15 13:59:36 | 显示全部楼层
0xFD问题
DebugLab
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:458
  • 最近打卡:2025-05-01 07:48:22
已绑定手机
已实名认证

110

主题

2219

回帖

5454

积分

版主

积分
5454
发表于 2024-11-15 14:01:02 | 显示全部楼层
sha*** 发表于 2024-11-15 13:48
显示成功的和显示失败的

这个是经典的0xfd问题,是keil的一个中文bug。
keil在编译的时候拿0xfd当标识了,没考虑到中文场景的编码碰撞。
所以需要使用/xfd数进行标识,具体可以搜索论坛内的0xfd乱码问题,或者直接参阅技术手册附录部分
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:424
  • 最近打卡:2025-05-02 14:37:11
已绑定手机

77

主题

4849

回帖

8382

积分

超级版主

DebugLab

积分
8382
发表于 2024-11-15 14:01:27 | 显示全部楼层
这是编译器对中文支持的问题,0xfd的问题,编译器碰到机内码带0xfd的就会异常,所以要偏开这些汉字。
以下是涉及0xfd的常用汉字:
褒饼昌除待谍洱俘庚过糊积箭烬君魁例笼慢谬凝琵讫驱三升数她听妄锡淆旋妖引育札正铸佚冽邶埤荦蔟摭啐帻猃恺泯潺妪纨琮椠辇挲臊忑睚铨稞瘕颀螨簖酏觚鳊鼾
DebugLab
回复 支持 2 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:424
  • 最近打卡:2025-05-02 14:37:11
已绑定手机

77

主题

4849

回帖

8382

积分

超级版主

DebugLab

积分
8382
发表于 2024-11-15 14:04:14 | 显示全部楼层
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:28
  • 最近打卡:2025-02-25 09:46:48

3

主题

4

回帖

173

积分

注册会员

积分
173
发表于 2024-11-15 14:08:21 | 显示全部楼层
Debu*** 发表于 2024-11-15 14:01
这是编译器对中文支持的问题,0xfd的问题,编译器碰到机内码带0xfd的就会异常,所以要偏开这些汉字。
以下 ...

非常感谢
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:28
  • 最近打卡:2025-02-25 09:46:48

3

主题

4

回帖

173

积分

注册会员

积分
173
发表于 2024-11-15 14:08:50 | 显示全部楼层
王*** 发表于 2024-11-15 14:01
这个是经典的0xfd问题,是keil的一个中文bug。
keil在编译的时候拿0xfd当标识了,没考虑到中文场景的编码 ...

原来是这样
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15630
发表于 2024-11-16 12:50:18 | 显示全部楼层
截图202411161250043312.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:199
  • 最近打卡:2025-05-02 00:28:39
已绑定手机

24

主题

345

回帖

1633

积分

金牌会员

积分
1633
发表于 2024-11-16 13:40:31 | 显示全部楼层
以前用串口打印 升 字,就出现乱码,百度才找到问题所在,说的就是keil的问题。是个老毛病了,从keil4到keil5都有,就是不知道keil6有没有修复,没用过keil6。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 20:42 , Processed in 0.189868 second(s), 110 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表