你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32汉字字库(GB-2312)显示实验分享

[复制链接]
wangbao619 发布时间:2014-6-25 10:39
分享一个用过最好用的字库取模软件
LCD字库、表情资料


TFT彩屏是大家经常用到的一个显示模块,用来显示字符图片等一些信息,作为产品的一个重要部分,实现人机交互。其中汉字显示是非常必要的,显示字符只需要采用对应的取模软件,把字符的点阵数据放在程序中即可。当我们要显示少量且固定的汉字时也可以采用这种方法,但是,需要大量且随机的汉字时,靠取模就不能完成了,需要汉字字库来实现。

这个实验使用的汉字大小是16*16,字库是放在SD卡根目录下sys文件夹中的。下面简单的解释一下实现过程。
先来一张图片看看实验效果。
金龙107汉字字库实验.jpg
本实验中,涉及到SD卡的使用,文件系统的移植,LCD屏的使用等。这里主要说明的是LCD的汉字显示
首先是对SD卡的初始化,以及LCD的初始化。
然后下面开始汉字以及一些字符的显示,字符的显示还是采用的字符点阵的方式。
QQ截图20140624173814.png
首先是判断的显示位置,是否超过屏的显示范围,如果超过则是实现换行功能。然后下面是判断显示内容的ASCII知道下一个要显示的是字符还是汉字,如果ASCII大于0x80,则是汉字,小于0x80则是字符。因为字符是16*8,所以每显示一个字符横坐标+8,如果是汉字(16*16),横坐标是+16。如果你要使用其它大小的字体显示,请修改相应的数据。
QQ截图20140624174313.png
在主要讲解汉字显示,字符显示和汉字一样的道理。显示汉字里面,首先开辟一个缓冲区,用来存储点阵数据,然后获取点阵数据,下面是通过获取的点阵数据来进行打点显示。注意我们是16*16的字体,所以每行16个点,一共16行。这里简单说一下打点,主要是采用设置一块16*16显示区域,然后逐一把每个点的数据送给LCD即可,注意要设置号彩屏内部的地址自增方向。否则容易出现错位等现象。注意最后要把显示区域设置成全屏显示。
QQ截图20140624180111.png
怎么在字库中找到对应的汉字点阵信息,这里的文件系统已经移植好了,打开字库文件。注意的是,每个汉字都有一个内码,占两个字节,通过汉字内码的高低字节,通过公式32*((High8bit-0xa0-1)*94+(Low8bit-0xa0-1))来找到该汉字在字库中的偏移位置,然后读取32个字节,也就是该汉字的点阵数据。字体是16*16=256。256/8=32字节。最后关闭文件就可以了。
QQ截图20140624180840.png
在整个实验中,要注意字体大小的设置,以及LCD设置的地址自增方向,否则容易出现错位现象。
最后附上整个工程: 【22】STM32_HZK16(SD)(3.2寸)(板上).rar (3.14 MB, 下载次数: 1882)
收藏 2 评论17 发布时间:2014-6-25 10:39

举报

17个回答
jeanson-363338 回答时间:2014-6-25 10:43:44

RE:STM32汉字字库(GB-232)显示实验分享

楼主这是直接从SD卡里面读取字库文件然后显示的吗?
zykzyk-93033 回答时间:2014-6-25 11:21:55

RE:STM32汉字字库(GB-232)显示实验分享

意义非凡
wangbao619 回答时间:2014-6-25 14:03:33

回复:STM32汉字字库(GB-232)显示实验分享

回复第 2 楼 于2014-06-25 10:43:44发表:
楼主这是直接从SD卡里面读取字库文件然后显示的吗?
是的,是直接从SD卡中读取的。字库文件放在SD卡中即可。
 
平淡~简单 回答时间:2014-6-26 09:29:51

RE:STM32汉字字库(GB-2312)显示实验分享

讲解很详细,学习了。
wangbao619 回答时间:2014-6-26 11:21:26

回复:STM32汉字字库(GB-2312)显示实验分享

回复第 5 楼 于2014-06-26 09:29:51发表:
讲解很详细,学习了。
 
希望对你有帮助。
 
yejiangfang 回答时间:2014-7-4 11:41:17

RE:STM32汉字字库(GB-2312)显示实验分享

非常感谢分享宝贵经验!
szruan 回答时间:2014-7-4 14:02:04

RE:STM32汉字字库(GB-2312)显示实验分享

非常感谢楼主的分享
hsh506 回答时间:2014-7-28 06:43:40

回复:STM32汉字字库(GB-2312)显示实验分享

 谢谢!学习了。
caanyee 回答时间:2014-8-11 15:12:25

回复:STM32汉字字库(GB-2312)显示实验分享

bucuoxohu8a 
12下一页

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版