硬汉嵌入式论坛

 找回密码
 立即注册
查看: 9817|回复: 9
收起左侧

[例程下载] V5开发板RA8875屏和ili9488屏之裸机方式汉字显示----小字库,NOR Flash和RA8875屏自带字库

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106678
QQ
发表于 2015-10-20 23:41:26 | 显示全部楼层 |阅读模式
小字库。
使用的最新的BSP驱动包,支持3.5寸,4.3寸,5寸和7寸。
=======================================================
什么是小字库呢,简单的说就是只需要在flash里面存储用到的汉字就行,大家可以使用这个小软件生成小字库。
http://www.armbbs.cn/forum.php?mod=viewthread&tid=202。
这里将如下诗句转换成点阵数据:
故人西辞黄鹤楼,烟花三月下扬州。
孤帆远影碧空尽,唯见长江天际流。
分别生成11*12点阵汉字和15*16点阵汉字数组,生成方法看上面的链接就行,里面有说明。
生成后,将11*12点阵放在文件hz12.c文件里面,将15*16点阵放在文件hz16.c文件里面,
1.png

将点阵数据放在相应的文件里面时要注意加上两个0XFF:
1.png

添加完毕点阵数据后,在font.h文件里面使能使用小字库:
#define USE_SMALL_FONT        /* 定义此行表示使用小字库, 这个宏只在bsp_tft+lcd.c中使用 */
至此就完成了小字库的汉字添加,用户就可以在使用12点阵和16点阵时显示上面的诗句了。
工程下载:
V5_TFT裸机_小字库.rar (21.21 MB, 下载次数: 2001)
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106678
QQ
 楼主| 发表于 2015-10-20 23:56:22 | 显示全部楼层
NOR Flash中存放字库。
使用的最新的BSP驱动包,支持3.5寸,4.3寸,5寸和7寸。
=======================================================
调用NOR Flash中字库比较简单,麻烦的是如何将字库放到NOR Flash里面,其实也简单,方法有
两种,第一种是采用这个帖子的方法,将如下的文件烧录到NOR Flash的首地址0x64000000
http://www.armbbs.cn/forum.php?mod=viewthread&tid=6893

1.png

第二种方法就是使用出厂程序进行烧写,操作步骤看这个帖子:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=9812

这个帖子是操作的RA8875字库和图库,NOR Flash也是一样的,先把需要文件放到nand flash,然后点击写NOR Flash按钮。
******************************************************************************
字库烧写到NOR以后,font.h文件里面不能再使能宏定义使用小字库了,注释掉即可。然后就可以在显示屏上面显示任意GB2312汉字了。
工程下载:
V5_TFT裸机_NOR Flash字库.rar (21.27 MB, 下载次数: 774)

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106678
QQ
 楼主| 发表于 2015-10-21 00:08:00 | 显示全部楼层
RA8875自带字库。支持16点阵,24点阵和32点阵
使用的最新的BSP驱动包,支持3.5寸,4.3寸,5寸和7寸。
=======================================================
RA8875自带字库的汉字显示最简单了,只需要配置下并调用API函数即可(注意不要使能小字库的宏定义,楼主位有说明):
FONT_T tFont16;            /* 定义一个字体结构体变量,用于设置字体参数 */
FONT_T tFont24;            /* 定义一个字体结构体变量,用于设置字体参数 */
FONT_T tFont32;            /* 定义一个字体结构体变量,用于设置字体参数 */


/* 设置字体参数 */
{
    tFont16.FontCode = FC_RA8875_16;        /* 字体代码 12点阵 */
    tFont16.FrontColor = CL_WHITE;        /* 字体颜色 */
    tFont16.BackColor = CL_BLUE;        /* 文字背景颜色 */
    tFont16.Space = 0;                    /* 文字间距,单位 = 像素 */
}
/* 设置字体参数 */
{
    tFont24.FontCode = FC_RA8875_24;    /* 字体代码 16点阵 */
    tFont24.FrontColor = CL_WHITE;        /* 字体颜色 */
    tFont24.BackColor = CL_BLUE;        /* 文字背景颜色 */
    tFont24.Space = 0;                    /* 文字间距,单位 = 像素 */
}
/* 设置字体参数 */
{
    tFont32.FontCode = FC_RA8875_32;    /* 字体代码 16点阵 */
    tFont32.FrontColor = CL_WHITE;        /* 字体颜色 */
    tFont32.BackColor = CL_BLUE;        /* 文字背景颜色 */
    tFont32.Space = 0;                    /* 文字间距,单位 = 像素 */
}


然后调用即可:
LCD_DispStr(5, 3, "故人西辞黄鹤楼,烟花三月下扬州。www.armfly.com", &tFont16);
LCD_DispStr(5, 20, "孤帆远影碧空尽,唯见长江天际流。www.armfly.com", &tFont16);
LCD_DispStr(5, 38, "故人西辞黄鹤楼,烟花三月下扬州。", &tFont24);
LCD_DispStr(5, 68, "孤帆远影碧空尽,唯见长江天际流。", &tFont24);
LCD_DispStr(5, 98, "故人西辞黄鹤楼烟花三月下扬州", &tFont32);
LCD_DispStr(5, 128, "孤帆远影碧空尽唯见长江天际流", &tFont32);
例程下载:

V5_TFT裸机_RA8875屏自带字库.rar (21.3 MB, 下载次数: 954)


回复

使用道具 举报

36

主题

2039

回帖

2147

积分

至尊会员

积分
2147
发表于 2015-12-9 18:35:51 | 显示全部楼层
[s:151]  [s:151]
Ever tried. Ever failed. No matter. Try Again. Fail again. Fail better.
回复

使用道具 举报

1

主题

8

回帖

28

积分

新手上路

积分
28
发表于 2016-7-29 16:49:53 | 显示全部楼层
[s:149]  [s:149]  [s:149]
回复

使用道具 举报

6

主题

231

回帖

249

积分

高级会员

积分
249
发表于 2016-7-29 17:06:49 | 显示全部楼层
最后用两个“0xFF, 0xFF”表示小字库结束。
版主,为什么要用两个0xFF表示结束呢?我觉得很难理解。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106678
QQ
 楼主| 发表于 2016-7-29 17:28:58 | 显示全部楼层

回 novice 的帖子

novice:最后用两个“0xFF, 0xFF”表示小字库结束。
版主,为什么要用两个0xFF表示结束呢?我觉得很难理解。 (2016-07-29 17:06) 
这是编码值,对于GBK编码的汉字,0XFFFF编码没有字符。
回复

使用道具 举报

0

主题

19

回帖

0

积分

新手上路

积分
0
QQ
发表于 2016-10-2 13:16:10 | 显示全部楼层
markmarkmarkmark
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
发表于 2022-2-14 12:18:42 | 显示全部楼层
如何才能生成繁体字呢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106678
QQ
 楼主| 发表于 2022-2-15 10:02:09 | 显示全部楼层
kupier 发表于 2022-2-14 12:18
如何才能生成繁体字呢

繁体使用emWin的FontCvt,或者GUIX的GUIX Studio更方便些。

你现在是怎么个用法,自己裸机使用的吗
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 08:57 , Processed in 0.354312 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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