海棠 发表于 2015-1-15 14:47:53

请教:关于OLED连续发光的问题

各位大神:
我用的是OLED屏幕,用的(Adafruit_SSD1306.h)库驱动的,由于显示实时数剧就要不停的清屏,所以这屏幕是不断刷新闪动的,眼睛看着很不舒服,请教一下是否可以让每个像素点连续发光,或者提高刷新率,主要是不能用延时拖慢其他程序的运行

kerr 发表于 2015-1-15 14:53:20

不是清屏刷的太慢?
我是新手。。勿喷。。。。{:soso_e117:}

海棠 发表于 2015-1-15 15:23:24

我也是新手,最近做个东西,要在oled上显示电量,还有其他数据,清屏导致闪屏,不清数据就会重叠。好烦啊

zoologist 发表于 2015-1-15 15:33:59

计算一下只刷新要更新的部分行不行?

海棠 发表于 2015-1-15 16:12:31

zoologist 发表于 2015-1-15 15:33 static/image/common/back.gif
计算一下只刷新要更新的部分行不行?

这个怎么搞。。。我不会呢,

海棠 发表于 2015-1-15 16:14:50

这个是电源电量的检测,没有注释。。。。Σ( ° △ °|||)︴void Powersource(void)
{
UI();
float i,n;
int v;   
v=analogRead(A1);
i=v*5.0/1023.0;
n=v*100.0/1023.0;   
if(n>0&&n<=7)
{oled.drawBitmap(0,0,bmp9,16,15, 1);}
if(n>7&&n<=15)
{oled.drawBitmap(0,0,bmp10,16,15, 1);
   oled.setTextSize(1);
   oled.setTextColor(WHITE);
   oled.setCursor(17,4);
   oled.println("no power!");   
   oled.display();   
   }
if(n>15&&n<=23)
{oled.drawBitmap(0,0,bmp11,16,15, 1);}
if(n>23&&n<=30)
{oled.drawBitmap(0,0,bmp12,16,15, 1);}
if(n>30&&n<=38)
{oled.drawBitmap(0,0,bmp13,16,15, 1);}
if(n>38&&n<=46)
{oled.drawBitmap(0,0,bmp14,16,15, 1);}
if(n>46&&n<=54)
{oled.drawBitmap(0,0,bmp15,16,15, 1);}
if(n>54&&n<=62)
{oled.drawBitmap(0,0,bmp16,16,15, 1);}
if(n>62&&n<=70)
{oled.drawBitmap(0,0,bmp17,16,15, 1);}
if(n>70&&n<=78)
{oled.drawBitmap(0,0,bmp18,16,15, 1);}
if(n>78&&n<=85)
{oled.drawBitmap(0,0,bmp19,16,15, 1);}
if(n>85&&n<=93)
{oled.drawBitmap(0,0,bmp20,16,15, 1);}
if(n>93&&n<=100)
{oled.drawBitmap(0,0,bmp21,16,15, 1);}   
oled.display();
delay(50);
oled.clearDisplay();
UI();

Pyrrhus 发表于 2015-1-15 16:49:17

呵呵,正好我正在调校这个库,
你的问题很简单,先把清屏的语句删掉,
然后把第14行改成下面就可以:
   oled.setTextColor(WHITE,BLACK);

海棠 发表于 2015-1-15 16:57:08

Pyrrhus 发表于 2015-1-15 16:49 static/image/common/back.gif
呵呵,正好我正在调校这个库,
你的问题很简单,先把清屏的语句删掉,
然后把第14行改成下面就可以:


大神啊,解决问题了

Pyrrhus 发表于 2015-1-15 16:57:11

然后是把所有的画图(应该是显示汉字吧)语句改成下面的:
{oled.drawBitmap(0,0,bmp21,16,15, WHITE,BLACK);}

Pyrrhus 发表于 2015-1-15 16:59:21

我正好把这个库改掉了,可以显示汉字了,等我写帖吧

海棠 发表于 2015-1-15 17:08:39

Pyrrhus 发表于 2015-1-15 16:57 static/image/common/back.gif
然后是把所有的画图(应该是显示汉字吧)语句改成下面的:
{oled.drawBitmap(0,0,bmp21,16,15, WHITE,BLAC ...

这个是什么原理?

海棠 发表于 2015-1-15 17:08:57

Pyrrhus 发表于 2015-1-15 16:59 static/image/common/back.gif
我正好把这个库改掉了,可以显示汉字了,等我写帖吧

坐等大神新库

海棠 发表于 2015-1-15 17:10:34

Pyrrhus 发表于 2015-1-15 16:57 static/image/common/back.gif
然后是把所有的画图(应该是显示汉字吧)语句改成下面的:
{oled.drawBitmap(0,0,bmp21,16,15, WHITE,BLAC ...

这个是什么意思呢?

海棠 发表于 2015-1-15 17:11:00

Pyrrhus 发表于 2015-1-15 16:59 static/image/common/back.gif
我正好把这个库改掉了,可以显示汉字了,等我写帖吧

坐等大神新库

海棠 发表于 2015-1-15 17:13:17

改了编译通不过oled.drawBitmap(0,21,bmp6,16,15,WHITE,BLACK);
页: [1] 2
查看完整版本: 请教:关于OLED连续发光的问题