8*16的ASCII码和16*16的中文都可以显示 为什么我我提取成12*24的ASCII码和32*32的汉字 就刷不出来了呢 求大神指教
void TFT_PutChar12x24(unsigned short Xpos, unsigned short Ypos, char c, unsigned int fColor, unsigned int bkColor)
{
unsigned short i=0,j=0;
unsigned char tmp_char=0;
for (i=0;i<48;i++)
{
tmp_char=ASCII12X24[((c-0x20)*48)+i];
for (j=0;j<24;j++)
{
if ( (tmp_char >>23-j) & 0x01 == 0x01)
{
TFT_SetPoint(Xpos+j,Ypos+i,fColor); /* ×Ö·ûÑÕÉ« */
}
else
{
TFT_SetPoint(Xpos+j,Ypos+i,bkColor); /* ±³¾°ÑÕÉ« */
}
}
}
}
这就是刷12*16的ASCII码 刷出来乱码
/********************************×Ö·û´óС8*16************************************************************/
void TFT_PutChar8x16(unsigned short Xpos, unsigned short Ypos, char c, unsigned int fColor, unsigned int bkColor)
{
unsigned short i=0,j=0;
unsigned char tmp_char=0;
for (i=0;i<16;i++)
{
tmp_char=ascii_8x16[((c-0x20)*16)+i];
for (j=0;j<8;j++)
{
if ( (tmp_char >> 7-j) & 0x01 == 0x01)
{
TFT_SetPoint(Xpos+j,Ypos+i,fColor); /* ×Ö·ûÑÕÉ« */
}
else
{
TFT_SetPoint(Xpos+j,Ypos+i,bkColor); /* ±³¾°ÑÕÉ« */
}
}
}
}
8*16ASCII码 刷出来没有问题
求大神指点 |