我在写stc15单片机的OLED显示程序的时候,想参考别的程序,有一个显示字符的子程序有点看不懂,那个y一会加2,一会加1,
//在指定位置显示一个字符,包括部分字符
//x:0~127
//y:0~6
//chr:要显示的字符
void OledShowChar(uchar x,uchar y,uchar chr)
{
uchar c = 0, i = 0;
c = chr-' ';//得到偏移后的值
if(x>Max_Column-1)
{
x = 0;
y = y + 2;
}
OledSetPos(x,y);
for(i=0;i<8;i++)
OledWriteByte(CharF8x16[c*16+i],OLED_DATA);
OledSetPos(x,y+1);
for(i=0;i<8;i++)
OledWriteByte(CharF8x16[c*16+i+8],OLED_DATA);
}
|