OpenEdv-开源电子网

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

MiniSTM32+7寸屏 如何显示32x32字?

[复制链接]

1

主题

3

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2013-4-11
在线时间
3 小时
发表于 2013-6-21 15:55:03 | 显示全部楼层 |阅读模式

原子哥,最近想在7寸屏上显示大点字体,用木易雨软件的纵向取模方式二制作了GBK24.FON、GBK32.FON并拷入SD卡制定目录下。
为此,将MiniSTM32上的25X16已换成25X64,以满足内存空间。
接下来在7寸屏附带的源码基础上修改代码:(修改导入部分和读取部分)
1)修改导入目录文件
//在sd卡中的路径         
const u8 *GBK32_SDPATH="0:/SYSTEM/FONT/GBK32.FON";  //GBK32的存放位置
const u8 *GBK24_SDPATH="0:/SYSTEM/FONT/GBK24.FON";  //GBK24的存放位置
const u8 *GBK16_SDPATH="0:/SYSTEM/FONT/GBK16.FON";  //GBK16的存放位置
const u8 *GBK12_SDPATH="0:/SYSTEM/FONT/GBK12.FON";  //GBK12的存放位置
const u8 *UNIGBK_SDPATH="0:/SYSTEM/FONT/UNIGBK.BIN"; //UNIGBK.BIN的存放位置

2)修改字库更新程序
  }else if(fx==3) //GBK24
  {
   ftinfo.f24addr=ftinfo.f16addr+ftinfo.gbk16size;  //GBK16之后,紧跟GBK24字库
   ftinfo.gbk24size=fftemp->fsize;      //GBK24字库大小
   flashaddr=ftinfo.f24addr;       //GBK24的起始地址
  }else if(fx==4) //GBK32
  {
   ftinfo.f32addr=ftinfo.f24addr+ftinfo.gbk24size;  //GBK24之后,紧跟GBK32字库
   ftinfo.gbk32size=fftemp->fsize;      //GBK32字库大小
   flashaddr=ftinfo.f32addr;       //GBK32的起始地址
  }    
。。。。
 if(res)return 3;
 LCD_ShowString(x,y,240,320,size,"Updating GBK24.BIN  ");
 res=updata_fontx(x+20*size/2,y,size,gbk24_path,3);   //更新GBK24.FON
 if(res)return 4;
 LCD_ShowString(x,y,240,320,size,"Updating GBK32.BIN  ");
 res=updata_fontx(x+20*size/2,y,size,gbk32_path,4);   //更新GBK32.FON
 if(res)return 5;   
 //全部更新好了

3)修改字节偏移量及读取
 if(ql<0x7f)ql-=0x40;//注意!
 else ql-=0x41;
 qh-=0x81;  
 if(size==12||size==16) foffset=((unsigned long)190*qh+ql)*(size*2);    //得到字库中的字节偏移量
 else foffset=((unsigned long)190*qh+ql)*(size*2)*2;                    //得到字库中的字节偏移量     

 if(size==12)SPI_Flash_Read(mat,foffset+ftinfo.f12addr,24);
 if(size==16)SPI_Flash_Read(mat,foffset+ftinfo.f16addr,32);
 if(size==24)SPI_Flash_Read(mat,foffset+ftinfo.f24addr,48);
 if(size==32)SPI_Flash_Read(mat,foffset+ftinfo.f32addr,64); 

4)修改显示一个汉字程序的支持字体和增加后半字显示
 if(size!=12&&size!=16&&size!=24&&size!=32)return;//不支持的size
 Get_HzMat(font,dzk,size);//得到相应大小的点阵数据



 if(size!=24&&size!=32)return;//不支持的size
 if(mode==0)//正常显示 

5)主程序调用显示
 LCD_Clear(RED);             
 Show_Str(250,80,lcddev.width,12,"系统启动中。。。",12,0); 
 Show_Str(250,150,lcddev.width,16,"系统启动中。。。",16,0); 
 Show_Str(250,200,lcddev.width,24,"啊",24,0); 
 Show_Str(250,250,lcddev.width,32,"组统",32,0);

经过以上修改后,编译下载后,显示的为乱码,任我怎么改变24X24或32X32字体的字,都显示一样的乱码!
这是为什么呢?盼回复!谢谢!



      

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

使用道具 举报

4

主题

119

帖子

0

精华

初级会员

Rank: 2

积分
169
金钱
169
注册时间
2013-4-6
在线时间
3 小时
发表于 2013-6-21 16:21:47 | 显示全部楼层
两种可能.

1.  字模没有成功的写入到SPI-FLASH去..

2.  显示24x24及32x32的程序没有修改正确,  可以贴出这边的完整代码来, 大夥帮你看看 .
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-6-22 18:56:12 | 显示全部楼层
Mini板的flash大小是2M字节,一个24*24大小的字库是多大,你计算过么?
还能放12*12+16*16???
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2013-4-11
在线时间
3 小时
 楼主| 发表于 2013-6-23 08:13:18 | 显示全部楼层
嗯,为了这个,我已经将MiniSTM32上的W25X16已换成W25X64,以满足内存空间。
我总感觉应该是读出来的地址指针不对,现在还在找原因。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-6-23 11:25:15 | 显示全部楼层
那你先取一个汉字的点阵,进行测试.这样方便找问题.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-6-23 11:25:27 | 显示全部楼层
直接放stm32内部flash进行解析,看看是否OK.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2013-4-11
在线时间
3 小时
 楼主| 发表于 2013-6-24 11:17:50 | 显示全部楼层
这是调整后的软件,可是还没能显示32X32字体,注意:flash用W25X64!给位大侠帮看看,谢谢!

7寸电容触摸屏实验MiniSTM32用Flash W25X64 显示32x32字体.rar

5.62 MB, 下载次数: 373

回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-18 10:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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