|
今日购买了几片0.96寸的OLED屏,用给的资料例程点屏发现左面有条线,本想找店家问问,结果一看评论,很多人都遇到这个问题。后来仔细查看例程,发现其中有误,造成刷屏起始列地址从1开始,0列未被清屏,刷满128列又会溢出至下一行代码如下:
/*********************OLED 设置坐标************************************/
void OLED_Set_Pos(unsigned char x, unsigned char y)
{
OLED_WrCmd(0xb0+y);
OLED_WrCmd(((x&0xf0)>>4)|0x10);
OLED_WrCmd((x&0x0f)|0x01);//这里0x01需改成0x00
}
/*********************OLED全屏************************************/
void OLED_Fill(unsigned char bmp_dat)
{
unsigned char y,x;
for(y=0;y<8;y++)
{
OLED_WrCmd(0xb0+y);
OLED_WrCmd(0x01);//这里0x01需改成0x00
OLED_WrCmd(0x10);
for(x=0;x<X_WIDTH;x++)
OLED_WrDat(bmp_dat);
}
}
最后祝大家玩得开心。
|
打赏
-
查看全部打赏
|