Hallo, ich experimentiere z.Zt. mit diesen kleinen Displays und verwende dabei hauptsächlich den sehr hilfreichen Beitrag von Bernhard S. (von 2021). Beitrag "DEBO OLED2 0.96 0,96" OLED-Display SSD1306 SSD1312 Initialisierung TWI I2C AVR ATmeg8 Assembler ASM" Die von Bernhard vorgestellten Codes funktionieren bei mir auch alle problemlos, allerdings mit einem Haken. Besonders deutlich zu sehen ist das bei der Version 1. Beim Aufbau des Bildes wird immer die oberste Zeile doppelt geschrieben und die unterste damit gar nicht. Ich kann das zwar ausgleichen, indem ich einfach eine weitere Zeile hinzufüge, aber das beseitigt ja nicht die Ursache. Hat jemand einen Hinweis?
Bruno M. schrieb: > Die von Bernhard vorgestellten Codes funktionieren bei mir auch alle > problemlos, allerdings mit einem Haken. Welche denn GENAU? Gib uns mal einen Link direkt darauf oder stell den Quelltext hier als ANhang rein.
Wie gesagt ist es insbesondere deutlich bei der Version 1 zu sehen. https://www.mikrocontroller.net/attachment/489563/2021-01-18_V1.zip Aber es wiederholt sich auch bei den anderen Versionen, nur ist es dort nicht so auffallend.
Bruno M. schrieb: > Hier deutlich zu sehen. o.m.g. Wie wäre es mit einem Photo, auf dem der Bildinhalt des OLED scharf abgebildet ist. Das PNG-Format hilft auch nicht, wenn die Aufnahme verhunzt ist. Nur weil es sich um ein Photo von einem Bildschirm handelt, wird daraus noch kein Screenshot im Sinne der Forenregeln. Wichtige Regeln - erst lesen, dann posten! Bitte das JPG-Format (nur) für Fotos und Scans verwenden!
Bruno M. schrieb: > Besonders deutlich zu sehen ist das bei der Version 1. Beim Aufbau des > Bildes wird immer die oberste Zeile doppelt geschrieben und die unterste > damit gar nicht. Welches Bild? In der Software wird das OLED nur mit kompletten Pixeln 0xFF vollgeschrieben. Keine Texte oder so. > Ich kann das zwar ausgleichen, indem ich einfach eine > weitere Zeile hinzufüge, aber das beseitigt ja nicht die Ursache. Naja, der Verfasser der Software hat beim Thema Grundlagen von Assembler noch einiges nachzuholen. Die Software funtkioniert zwar irgendwie, aber das ist alles arg zusammengebastelt. Hier gibt es Verbesserungsvorschläge, wenn gleich für eine andere Software. Beitrag "Re: ADS1115 Initialisierung ADC auslesen ATmega8 Assembler ASM" In der speziell hier genannten Software sieht es so aus.
1 | LOOP: |
2 | wdr |
3 | rcall PROGRAMM_CHECK |
4 | rcall OLED_VOLL |
5 | rcall WAIT_1s |
6 | rcall OLED_CLEAR |
7 | rcall WAIT_1s |
8 | rjmp LOOP |
In OLED_VOLL wird am Anfang GO_HOME aufgerufen. Dort liegt vermutlich der Fehler, wobei eine falsche Anfangsandresse im Display gesetzt wird.
In der Schaltung fehlen außerdem die Pull-Up Widerstände für SDA und SCL. Je einmal 3,3K oder ähnlich gegen 5V sollten reichen. Ist ein Wunder, daß es überhaupt funktioniert, vermutlich hat das OLED welche eingebaut.
:
Bearbeitet durch User
Falk B. schrieb: > In OLED_VOLL wird am Anfang GO_HOME aufgerufen. Volltreffer! Ich habe das GO_HOME mal komplett rausgenommen und jetzt paßt es! Danke
Bruno M. schrieb: > Volltreffer! Ich habe das GO_HOME mal komplett rausgenommen und jetzt > paßt es! Ja, im Moment. Das passt nur, weil die Resetwerte der Register passen. Wenn man aber mal im Programmablauf die Funktion braucht, muss man sie reparieren. Man muss sich in die Adressierungsarten einlesen und die richtigen Einstellungen einstellen. Damit man dann auch mal gezielt an Stellen auf dem OLED schreiben kann, sprich den Cursor setzen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
