极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 24450|回复: 8

关于12864带汉字库(ST7920)如何显示非特定汉字的问题

[复制链接]
发表于 2013-5-5 11:55:00 | 显示全部楼层 |阅读模式
关于12864带汉字库(ST7920)如何显示非特定汉字的问题!
  用LCD12864RSPI这个库能正常显示特定汉字,如下面A
但显示非特定汉字(SD卡上的)就会乱码,恳求帮忙!


A)按教程方法的可以正常显示 http://www.geek-workshop.com/forum.php?mod=viewthread&tid=91

unsigned char show[]={0xBC,0xAB,0xBF,0xCD,0xB9,0xA4,0xB7,0xBB};//极客工坊
LCDA.DisplayString(0,2,show,sizeof(show));//第一行第三格开始,显示文字极客工坊


B)不过我的项目需要显示不特定汉字

char *stxt="极客工坊"
char *etxt="arduino"

LCDA.printf(0, 0, stxt);  //这样写显示是乱码,
LCDA.printf(0, 1, etxt);  //英文正常
回复

使用道具 举报

 楼主| 发表于 2013-5-5 12:01:48 | 显示全部楼层
补充说明:就是不用汉字内码,直接能显示汉字串
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-7 23:52:01 | 显示全部楼层
自己顶一下,大家帮帮忙
回复 支持 反对

使用道具 举报

发表于 2013-5-8 12:49:11 | 显示全部楼层
无聊天使 发表于 2013-5-7 23:52
自己顶一下,大家帮帮忙

据我了解,可以有两种方式实现你的诉求。第一:ST7920本身除了带有自己的汉字字库在ROM以外,还可以有四组用户自定义的字模,你可以把字模自己定义进去,这样的话,标准汉字用汉字内码显示,非标准的用自定义的字模显示。第二:直接让12864工作在图形模式下,就没有汉字的概念,只有图形的点线概念了,至于显示什么汉字,自己就画吧,相当于不再使用字模了,就是累点。坛子里有相应的图形取点工具,用起来也还可以,就是有时候弄不好会溢出。如果楼主喜欢钻研的话,可以看ST7920的手册,按他的时序要求操作即可。您可以在Youku上找找相关的教学视频,51单片机的就可以,用到Arduino上是一样的。
回复 支持 反对

使用道具 举报

发表于 2013-8-11 12:41:06 | 显示全部楼层
遇到相同的问题,SD卡读出来的不管是字母还是数字都显示乱码,
新手慢慢研究去
回复 支持 反对

使用道具 举报

发表于 2013-9-26 18:13:25 来自手机 | 显示全部楼层
你理解错了!
带字库的屏,是要先把所要显示的字的字模从字库里查出来,然后再送显示屏显示!你可以查一下屏的Datasheet,肯定有个脚是用来切换数据线功能的,对应着屏和字库的切换!
回复 支持 反对

使用道具 举报

发表于 2014-12-14 19:43:48 | 显示全部楼层
这个问题有意思,值得学习一下,估计以后肯定会遇到.
回复 支持 反对

使用道具 举报

发表于 2014-12-14 22:09:52 | 显示全部楼层
老胖熊 发表于 2014-12-14 19:43
这个问题有意思,值得学习一下,估计以后肯定会遇到.

我在6楼的回复是错误的理解。

显示的流程是,根据内码到字库查找对应点阵数据,送到显存进行显示。

如果要进行非特定汉字的显示,那么就需要你的程序能够对输入的汉字进行内码转换,然后再通过内码进行查询对应点阵。
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-17 00:43 , Processed in 0.039820 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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