struct typFNT_GB162
{
unsigned char Index[3];
char Msk[32];
};
#define hz16_num 3
const struct typFNT_GB162 hz16[] =
{
#if USE_ONCHIP_FLASH_FONT
"电", 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x7F, 0xF0, 0x42, 0x10, 0x42, 0x10, 0x7F, 0xF0, 0x42, 0x10, 0x42, 0x10, 0x7F, 0xF0, 0x42, 0x00, 0x02, 0x08, 0x02, 0x08, 0x01, 0xF8, 0x00, 0x00, 0x00, 0x00,
"子", 0x7F, 0xF0, 0x00, 0x20, 0x00, 0x40, 0x00, 0x80, 0x01, 0x00, 0x02, 0x00, 0xFF, 0xF8, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00,
"全", 0x01, 0x00, 0x01, 0x00, 0x02, 0x80, 0x04, 0x40, 0x08, 0x20, 0x10, 0x10, 0x2F, 0xE8, 0xC1, 0x06, 0x01, 0x00, 0x01, 0x00, 0x1F, 0xF0, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x7F, 0xFC, 0x00, 0x00,
#endif
}
void show_One_Chinese(u8 x,u8 y,char *HZ)
{
u8 t;
u16 HZK_POS,i=0;
while((*HZ++!=hz16[i].Index[0])||(*HZ!=hz16[i].Index[1])&& i<hz16_num ){
i++;
}
HZK_POS = i;
set_pos(x,y);
for(t=0;t<16;t++)
{
write_data(hz16[HZK_POS].Msk[t]);
}
set_pos(x,y+1);
for(t=0;t<16;t++)
{
write_data(hz16[HZK_POS].Msk[t+16]);
}
}
show_One_Chinese(0,0,"电")
我以前是用的宏定义来指定汉字序号,就没办法直接写中文字符串。
第一次看到这种寻址方式好像还是05年看xiaoqi 晓奇写的1335驱动320x240单 {MOD}屏程序的时候
还有人知道xiaoqi这个id 么
编辑补充:xiaoqi还专门做了一个取模软件,导入.c程序,直接获取里面所有汉字,然后生成这样的格式,到现在还保留再用.
貌似还用过。不过用的时候是12年~
一周热门 更多>