无聊天使 发表于 2013-5-5 11:55:00

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

关于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

自己顶一下,大家帮帮忙

zhanggang1971 发表于 2013-5-8 12:49:11

无聊天使 发表于 2013-5-7 23:52 static/image/common/back.gif
自己顶一下,大家帮帮忙

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

xiao6ye 发表于 2013-8-11 12:41:06

遇到相同的问题,SD卡读出来的不管是字母还是数字都显示乱码,
新手慢慢研究去

maxims 发表于 2013-9-26 18:13:25

你理解错了!
带字库的屏,是要先把所要显示的字的字模从字库里查出来,然后再送显示屏显示!你可以查一下屏的Datasheet,肯定有个脚是用来切换数据线功能的,对应着屏和字库的切换!

老胖熊 发表于 2014-12-14 19:43:48

这个问题有意思,值得学习一下,估计以后肯定会遇到.

maxims 发表于 2014-12-14 22:09:52

老胖熊 发表于 2014-12-14 19:43 static/image/common/back.gif
这个问题有意思,值得学习一下,估计以后肯定会遇到.

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

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

如果要进行非特定汉字的显示,那么就需要你的程序能够对输入的汉字进行内码转换,然后再通过内码进行查询对应点阵。
页: [1]
查看完整版本: 关于12864带汉字库(ST7920)如何显示非特定汉字的问题