大家好,我在用一块液晶屏,驱动IC为ST7735
买模块的时候卖家有给我例程序,有一个显示英文字符的例程里面的一个函数我看不懂,希望有用过的前辈指点一二。
//显示一个英文字符
void Display_ASCII8X16(uint x0,uint y0,uchar *s)
{
int i,j,k,x,y,xx;
unsigned char qm;
long int ulOffset;
char ywbuf[32],temp[2];
for(i = 0; i<strlen((char*)s);i++)
{
if(((unsigned char)(*(s+i))) >= 161)
{
temp[0] = *(s+i);
temp[1] = '\0';
return;
}
else
{
qm = *(s+i);
ulOffset = (long int)(qm) * 16;
for (j = 0; j < 16; j ++)
{
ywbuf[j]=Zk_ASCII8X16[ulOffset+j];
}
for(y = 0;y < 16;y++)
{
for(x=0;x<8;x++)
{
k=x % 8;
if(ywbuf[y]&(0x80 >> k))
{
xx=x0+x+i*8;
PutPixel(xx,y+y0,RED);
}
}
}
}
}
}
//============================
这个函数我看了不知道它的数据是怎样处理的。
特别是这一句里面的为什么用161这个值
if(((unsigned char)(*(s+i))) >= 161) |