研究生
最后登录1970-1-1
在线时间 小时
注册时间2015-6-23
|
在做“液晶显示中英文(字体任意大小)”时,已经成功将SD的字库重新烧到了外部的FLASH中,并且此例程也已经正常显示了。
但是在做"触摸画板"时,想改成显示中文,并且例程程序是要求汉字字库在外部FLASH中,现在字库已经在外部的FLASH中了,为什么还是显示不了汉字呢?/******************************************************************/
以下是fonts.h文件对于字库的存放位置的处理,已经是在外部的FLASH中了。
/0表示使用SD卡字模,非零表示FLASH字模,由于SD卡字模有文件系统,速度慢很多。
#define GBKCODE_FLASH 1
#if GBKCODE_FLASH
/*使用FLASH字模*/
/*中文字库存储在FLASH的起始地址*/
/*FLASH*/
#define GBKCODE_START_ADDRESS 387*4096
/*获取字库的函数*/
//定义获取中文字符字模数组的函数名,ucBuffer为存放字模数组名,usChar为中文字符(国标码)
#define GetGBKCode( ucBuffer, usChar ) GetGBKCode_from_EXFlash( ucBuffer, usChar )
int GetGBKCode_from_EXFlash( uint8_t * pBuffer, uint16_t c);
/**********************************************************************/
以下是palette.c 中 清屏按键函数
static void Draw_Clear_Button(void *btn){
..........
/*选择字体,使用中英文显示时,尽量把英文选择成8*16的字体,
*中文字体大小是16*16的,需要其它字体请自行制作字模*/
/*这个函数只对英文字体起作用*/
LCD_SetFont(&Font8x16);
ILI9341_DispString_EN_CH( ptr->start_x + (ptr->end_x - ptr->start_x - 16*2 )/2,
// ptr->start_y+15,
ptr->start_y+ ((ptr->end_y - ptr->start_y-16)/2),
"清屏");//此处不能显示中文,改成英文就可以
..........
}
请教大家了,谢谢!
|
|