程序如下:
for(i=0;i<128;i++)
{
if ((ccd_data_one==0xef))
{
OLED_DrawPoint(i,j,1);//白的清盘
//printf("%d",1);
//printf("%x",ccd_data_one);
}
if((ccd_data_one==0x22))
{
OLED_DrawPoint(i,j,0);//黑色的就填充
//printf("%d",0);
//printf("%x",ccd_data_one);
}
OLED_Refresh_Gram();
}
当我把OLED_Refresh_Gram();加上去了之后,程序就几乎不跑了,速度出奇的慢,
其中OLED_Refresh_Gram();如下:
//更新OLEDfresh里面的数据
void OLED_Refresh_Gram(void)
{
u8 i,n;
for(i=0;i<8;i++)
{
OLED_WR_Byte (0xb0+i,OLED_CMD); //页地址
OLED_WR_Byte (0x00,OLED_CMD); //显示位置(低)
OLED_WR_Byte (0x10,OLED_CMD); //显示位置(高)
for(n=0;n<128;n++)OLED_WR_Byte(OLED_GRAM[n],OLED_DATA);
}
}
用的是原子哥例程,OLED几乎都没动,初始化时对的,也可以显示东西,可是在上面就不行 |