Hallo,
ich bin kürzlich auf die SSD13XX-Libary GitHub - sumotoy/SSD_13XX: A very fast and full featured driver for SSD1331/22/32/51 Oled's compatible with Teensy's and many other MCU's für OLED's gestoßen.
Sie scheint recht schnell zu sein nur leider ist nach einer kurzen Weile die Ausgabe auf dem Bildschirm recht unkontrolliert.
Ich versuche testweise ein Rechteck auf dem Bildschirm zu zeichnen und dieses in einer for-Schleife jedesmal mit einer anderen Farbe zu überschreiben. Je nach dem wie groß (bzw. klein) ich das Rechteck mache scheint es auch zu funktionieren, ist es jedoch zu groß erscheinen Rechtecke auf dem Bildschirm in (scheinbar) zufälligen Farben, Positionen, und Größen. Selbst nachdem das Programm beendet ist wird fröhlich weiter auf dem Display gezeichnet (Bild bleibt gleich aber scrollt nach unten).
Hier mal mein Test Sketch:
#include <SPI.h>
#include <SSD_13XX.h>
#define __RS 8
#define __DC 9
#define __CS 10
SSD_13XX oled = SSD_13XX(__CS, __DC, __RS);
const uint16_t COLORS[] = {
0x0000, // [0] black
0xffff, // [1] white
0x001f, // [2] blue
0xf200, // [3] orange
0xf800, // [4] red
0x07e9, // [5] green
0xffe0 // [6] yellow
};
static int16_t _x, _y, _w, _h;
void setup() {
Serial.begin(19200);
oled.begin();
oled.setTextColor(0xffff, 0x0000);
oled.clearScreen();
_x = 0;
_y = 16;
_w = oled.width() - 1;
_h = oled.height() - 1;
for(uint8_t i = 0; i < 100; i++) {
oled.fillRect(_x, _y, _w, _h, COLORS[i%sizeof(COLORS)/2]);
delay(100);
}
Serial.println("done");
}
void loop() {
}
Ich bin leider etwas überfragt was die Ursache für dieses Verhalten sein könnte.
Hoffe jemand kann mir da weiter helfen.