OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4686|回复: 2

急!!求助:在原有基础上,加入LCD 48*48字库, 显示失败 乱码。

[复制链接]

4

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2014-1-13
在线时间
0 小时
发表于 2014-8-14 11:54:54 | 显示全部楼层 |阅读模式
5金钱
按照16*16的例子,制作了48*48 的字库,并存储到SD 。
更新完12 16 48三个字库后,16*16的字库却无法正确显示。一下是改动处,望多指点。
一、fontupd.h中加入
__packed typedef struct 
{
u8 fontok; 
u32 ugbkaddr; //unigbkμ?μ??·
u32 ugbksize; //unigbkμ?′óD?  
u32 f12addr; //gbk12μ??·
u32 gbk12size; //gbk12μ?′óD?  
u32 f16addr; //gbk16μ??·
u32 gkb16size; //gbk16μ?′óD?  
u32 f48addr; 
u32 gkb48size; 

}_font_info;

二、在fontupd.c"中修改程序3处:
1.加入
  const u8 *GBK48_SDPATH="0:/SYSTEM/FONT/GBK48.FON";
 const u8 *GBK48_25QPATH="1:/SYSTEM/FONT/GBK48.FON";
2.update_font中加入
 gbk48_path=(u8*)GBK48_25QPATH;
  gbk48_path=(u8*)GBK48_SDPATH;

 LCD_ShowString(x,y,240,320,size,"Updating GBK48.BIN  ");
  res=updata_fontx(x+20*size/2,y,size,gbk48_path,3);
 if(res)return 4;

 
 else //GBK48
{
ftinfo.f48addr=ftinfo.f16addr+ftinfo.gkb16size; 
ftinfo.gkb48size=fftemp->fsize; 
flashaddr=ftinfo.f48addr;}
三 在Show_Font中加入
if(size!=12&&size!=16&&size!=48)return;

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2014-1-13
在线时间
0 小时
 楼主| 发表于 2014-8-14 14:57:02 | 显示全部楼层
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-8-14 23:25:15 | 显示全部楼层
48*48,字库多大?能存下?
另外,汉字显示,没你改的那么简单那,显示汉字函数,你还得修改.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-3 22:09

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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