分享一段汉字寻址示范程序

2020-01-12 17:20发布

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,"电")
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。