x 坐标 列
b 代表一个page内的竖排一列额点
buff_ptr系统LCM数据起始位置
temp 是8为变量 向page每列写数据
for(p=starty/8;p<=endy/8;p++)
{
Set_Start_Page_SSD1306(p);
Set_Start_Column_SSD1306(0x00);
for(x=startx;x<endx;x++)
{
temp=0;
for(b=0;b<8;b++)
{
buffer_tmp = (kal_uint16)*((kal_uint16*)buff_ptr+((((p<<3)+b)<<7)+x));
if(buffer_tmp==0xffff)
{
temp|= 1<<b;
}
else
{
temp&= ~(1<<b);
}
}
WriteData(temp);
}
}
b 代表一个page内的竖排一列额点
buff_ptr系统LCM数据起始位置
temp 是8为变量 向page每列写数据
for(p=starty/8;p<=endy/8;p++)
{
Set_Start_Page_SSD1306(p);
Set_Start_Column_SSD1306(0x00);
for(x=startx;x<endx;x++)
{
temp=0;
for(b=0;b<8;b++)
{
buffer_tmp = (kal_uint16)*((kal_uint16*)buff_ptr+((((p<<3)+b)<<7)+x));
if(buffer_tmp==0xffff)
{
temp|= 1<<b;
}
else
{
temp&= ~(1<<b);
}
}
WriteData(temp);
}
}