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,"电")
你这个用法不行,我理解的是显示多个汉字需要写个函数用来逐个判断汉字,然后调用单个汉字显示程序。如果汉字中夹杂着字符,还得判断是汉字还是字符,然后分别调用单个汉字显示函数和单个字符显示程序
一周热门 更多>