老胖熊 发表于 2016-4-25 19:14:58

mingzhi080218 发表于 2016-4-25 15:14 static/image/common/back.gif
实心图形我已经在用朋友说的方法做了,比如第一屏的曲线图我就是用局部刷新的,虽然效果不是太好,但总是 ...

刚才没给你解释,26C被6C显示成6CC,是因为26C是3字符长,6C是两字符长,你显示的起始位置是相同的(就是左对齐)。即,6覆盖了2,6C的C覆盖了26的6,26C的C没有被修改过,被保留下来了,就显示成了6CC。就像下面这样:
26C(原值)
6C    (新值)
6CC(显示出来的值)
所以,你也可以取要显示的字符串的长度,如果是2位长,就在前面加空格。这样呢C是对齐的,也就是右对齐,前面补空格。
我懒,所以就用背景色显示一遍原值,再用字体颜色显示新值。没试过那种方式效率更高,代码体积更小。你有兴趣可以试试,反正也是玩。

mingzhi080218 发表于 2016-4-25 22:35:21

老胖熊 发表于 2016-4-25 19:14 static/image/common/back.gif
刚才没给你解释,26C被6C显示成6CC,是因为26C是3字符长,6C是两字符长,你显示的起始位置是相同的(就是 ...

好的,谢谢指导!我都试一下。

mingzhi080218 发表于 2016-4-26 08:50:07

老胖熊 发表于 2016-4-25 19:14 static/image/common/back.gif
刚才没给你解释,26C被6C显示成6CC,是因为26C是3字符长,6C是两字符长,你显示的起始位置是相同的(就是 ...

昨晚测试了一下,还是用下面原来画方块的的方法来的直接,用空格补位的方法试了一下,还是有残影。display.setCursor(45,52);
display.setTextSize(0);
display.setTextColor(WHITE,BLACK);
display.print("L=");
display.print(valLight);
display.fillRect(57,52,24,7,BLACK);
display.setCursor(57,52);
display.setTextSize(0);
display.setTextColor(WHITE,BLACK);
display.print(valLight);
页: 1 [2]
查看完整版本: 星期天在家弄了个SSD1331彩色OLED的小程序