OLED是0.96寸,IIC通讯,128*64已经能正常显示了,但是刷屏速度奇慢,拿擦除数据举例刚开始用了示例程序,一次IIC通讯擦除一个字节,整个屏幕擦除要30秒。
for(i=0;i<8;i++)
{
OLED_WR_Byte (0xb0+i,OLED_CMD); //设置页地址(0~7)
OLED_WR_Byte (0x00,OLED_CMD); //设置显示位置—列低地址
OLED_WR_Byte (0x10,OLED_CMD); //设置显示位置—列高地址
for(n=0;n<128;n++) OLED_WR_Byte(0,OLED_DATA); //写1个字节
}
后来改为一次通讯擦除一行,共128个字节,整个屏幕擦除要7秒。
for(i=0;i<8;i++)
{
OLED_Set_Pos(0, i);
for(n=0;n<128;n++) picture_tab[n]=0x00;
IIC_Write_Data_Page(picture_tab);
}
但还是有点慢。
求指点一下更快的方法。
|
应是模拟IO端口的问题,延时太多吧。非驱动问题。
@tyw :还是感觉慢,以肉眼可见的速度在打点
对有变化数据定点刷新