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

查看: 15395|回复: 26

[STM32F429] 【STM32F429开发日志】汉字显示(取模方式)

[复制链接]

10

主题

85

回帖

0

蝴蝶豆

初级会员

最后登录
2020-2-8
发表于 2014-6-29 21:04:20 | 显示全部楼层 |阅读模式
拿到F429-Discovery一个月了,才写这个,实在抱歉。下面进入正题。
该例程使用的是Discovery板上的彩屏,以及SDRAM作为显存,其中的屏和SDRAM的驱动使用的是Discovery例程中自带的驱动。
本人只是做了小的改动,使其能显示汉字,采用的取模方式,字体大小是24*24。下面简单的说明一下做了哪些改动。
要驱动屏,需要调用以下几个函数:
LCD_Init();
LCD_LayerInit();
 LTDC_Cmd(ENABLE);
其中前两个是stm32f429i_discovery_lcd.c中的函数,最后那个函数是外设库里面的函数。
其中要说一下,在LCD_LayerInit();函数中,对LTDC_Layer_InitStruct结构体的这个参数设置就是把SDRAM的地址,赋值给LCD的显示,使SDAM成为LCD的显存。
/* Start Address configuration : the LCD Frame buffer is defined on SDRAM */   
  LTDC_Layer_InitStruct.LTDC_CFBStartAdress = LCD_FRAME_BUFFER;
主要是对LCD_DisplayStringLine();函数做了改造,又增加了两个写汉字的函数。下面贴图上来说明。
QQ截图1.png
在这个函数中,首先是判断了下面要显示的是字符还是汉字,如果是字符则设置字符的字体,然后显示字符即可,如果是汉字则显示汉字的字体,然后调用LCD_DisplayChinese();函数进行汉字的显示。注意下面指针ptr要累加两次,因为汉字的内码是占用两个字节。有一点缺陷的是这样写之后似乎只能使用一种字体显示。如果要使用不同字体显示,可以增加一个设置汉字字体的函数和结构体。不知各位大神有什么好的方法。
QQ截图2.png
这个函数的主要任务就是查找到汉字对应的点阵数据,这里创建了一个汉字点阵的结构体。
typedef struct {                               /*汉字字模数据结构           */
    unsigned char Index[2];                    /* 汉字内码索引                */
    unsigned char Msk[72];                     /* 汉字点阵数据                   */
}FNT_GB24;
汉字内码是占两个字节,因为字体大小是24*24的,所以是72字节。同时,这个汉字的数据信息是使用的是字符的那个数据结构。
sFONT Font24x24 = {
  (const uint16_t*)Chinese24x24_Table->Index,
  24, /* Width */
  24, /* Height */
};
QQ截图3.png
最后就是逐一打点即可,注意偏移位置的计算,最后的红色方框,是判断是否打完一行数据,一行数据是3个字节。
最后附上一张效果图,以及工程文件,欢迎大家批评指正。
IMG_20140629_205234.jpg
STM32F429汉字显示.rar (554.84 KB, 下载次数: 1046)
回复

使用道具 举报

5

主题

26

回帖

0

蝴蝶豆

高级会员

最后登录
1970-1-1
发表于 2014-6-30 11:35:20 | 显示全部楼层

RE:【STM32F429开发日志】汉字显示(取模方式)

谢谢分享!
回复 支持 反对

使用道具 举报

307

主题

3125

回帖

0

蝴蝶豆

论坛元老

最后登录
2020-7-17
发表于 2014-6-30 17:21:21 | 显示全部楼层

RE:【STM32F429开发日志】汉字显示(取模方式)

哈哈,多谢楼主分享!还有祝福~
回复 支持 反对

使用道具 举报

55

主题

365

回帖

0

蝴蝶豆

初级会员

最后登录
1970-1-1
发表于 2014-8-1 17:05:46 | 显示全部楼层

回复:【STM32F429开发日志】汉字显示(取模方式)

呵呵,挺好的
回复 支持 反对

使用道具 举报

0

主题

11

回帖

0

蝴蝶豆

初级会员

最后登录
2020-9-2
发表于 2014-8-21 23:02:04 | 显示全部楼层

回复:【STM32F429开发日志】汉字显示(取模方式)

h 不错 学习
  学习
 
回复 支持 反对

使用道具 举报

0

主题

1

回帖

0

蝴蝶豆

新手上路

最后登录
2014-12-22
发表于 2014-12-22 01:10:54 | 显示全部楼层
多谢LZ,在楼主的工程帮助下,不仅做了24x24的,还做了32x32的,多谢了
回复 支持 反对

使用道具 举报

1

主题

4

回帖

0

蝴蝶豆

初级会员

最后登录
2020-11-4
发表于 2015-1-14 22:54:48 | 显示全部楼层
lz:字摸怎么取?用字摸软件取出来的都对不上
回复 支持 反对

使用道具 举报

8

主题

333

回帖

0

蝴蝶豆

金牌会员

最后登录
2019-11-5
发表于 2015-1-15 08:52:44 | 显示全部楼层
楼主大赞
回复 支持 反对

使用道具 举报

43

主题

292

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-11-28
发表于 2015-1-15 08:53:46 | 显示全部楼层
很好,赞一个!
回复 支持 反对

使用道具 举报

8

主题

333

回帖

0

蝴蝶豆

金牌会员

最后登录
2019-11-5
发表于 2015-1-15 09:34:20 | 显示全部楼层
楼主真是太给力了
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版