初级会员

- 积分
- 113
- 金钱
- 113
- 注册时间
- 2015-4-28
- 在线时间
- 2 小时
|
5金钱
红色的部分不懂,为什么是 temp&0x80 ,代表啥意思啊?还有那个什么正常显示,反白显示是啥东东?什么样的是反白显示屏幕上有什么特征
void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 size,u8 mode)
{
u8 temp,t,t1;
u8 y0=y;
u8 csize=(size/8+((size%8)?1:0))*(size/2);
chr=chr-' ';
for(t=0;t<csize;t++)
{
if(size==12)temp=asc2_1206[chr][t];
else if(size==16)temp=asc2_1608[chr][t];
else if(size==24)temp=asc2_2412[chr][t];
else return;
for(t1=0;t1<8;t1++)
{
if(temp&0x80)OLED_DrawPoint(x,y,mode);
else OLED_DrawPoint(x,y,!mode);
temp<<=1;
y++;
if((y-y0)==size)
{
y=y0;
x++;
break;
}
}
}
}
|
最佳答案
查看完整内容[请看2#楼]
取模是高位在前的形式 temp&0x80 用于判断当前temp 最高位是0还是1 是1就点亮 0就清除
正常显示 点亮OLED是蓝色点 清除是黑屏 反白显示就是反过来 点亮的部分清黑屏 不亮的部分显示蓝色
|