中级会员
 
- 积分
- 340
- 金钱
- 340
- 注册时间
- 2012-10-11
- 在线时间
- 134 小时
|
50金钱
oled 3.2寸 256*64 16阶色素
static void change (u8 m)
{
u8 k;
u8 kk,kkk;
u8 data_4byte[4] = {0};
kk=m;
for(k=0;k<4;k++)
{
kkk=kk&0xc0;
// 0xF2 1111 0010
// 0 kkk = 11 [0]= 0xFF
// 1 kkk = 11 [1] =0xFF
// 2 kkk = 00 [2] =0x00
// 3 kkk = 10 [3] = 0xF0
//1出现4种可能,16阶色素,一个地址两个像素,一个像素对应4位***/
switch(kkk)
{
case 0x00:
data_4byte[k]=0x00;
break;
case 0x40:
data_4byte[k]=0x0f;
break;
case 0x80:
data_4byte[k]=0xf0;
break;
case 0xc0:
data_4byte[k]=0xff;
break;
default:
break;
}
kk=kk<<2;
OLED_Write_Data(data_4byte[k]); /* 8 column a nibble of command is a dot*/
}
}
这个函数怎么理解,一个像素点写入了四个字节?或者为什么一个写入的数据被分四次写入?
|
|