Forum: Mikrocontroller und Digitale Elektronik EA OLED Display. 4 Bit Mode. Fehler im DB?


von Stephan (Gast)


Lesenswert?

Hallo!

Ich versuche, ein OLED Display von Electronic Assembly zum Laufen zu 
bekommen:

https://www.reichelt.de/LCD-Module-organisch/EA-W082-XLG/3/index.html?ACTION=3&LA=2&ARTICLE=113316&GROUPID=3012&artnr=EA+W082-XLG&SEARCH=%252A

Es wird damit beworben, im 4, oder 8-Bit-Modus betrieben werden zu 
können.
Ich möchte 4 Datenleitungen einsparen und den 4-Bit-Modus verwenden.

Nur: aus dem Datenblatt geht hervor, dass zum Initialisieren auch das 
Datenbit 4 und 5 benutzt wird.

Warum? Wie?

von Carl D. (jcw2)


Lesenswert?

Es werden nur die Bits 4..7 benutzt, 0..3 bleiben offen. Das sind dann 
insgesamt 4 benutzte Bit.

von Stephan (Gast)


Angehängte Dateien:

Lesenswert?

Carl D. schrieb:
> Es werden nur die Bits 4..7 benutzt, 0..3 bleiben offen. Das sind
> dann
> insgesamt 4 benutzte Bit.

Das jedenfalls steht in der Übersicht, richtig. Weiter heißt es zum 
Thema Initialisierung:
(siehe Anhang)
Es wird über z.B. eine Funktion "WriteIns(0x28);" ein Wert übergeben, 
der sich nicht mit 4 Bit übertragen lässt..

von Stephan (Gast)


Lesenswert?

Ich sehe gerade, in letzten Anhang, ist zu lesen: be sure to be in 
8-Bit-Mode.

Ist das ein Scherz?

von Carl D. (jcw2)


Lesenswert?

Stephan schrieb:
> Ich sehe gerade, in letzten Anhang, ist zu lesen: be sure to be in
> 8-Bit-Mode.
>
> Ist das ein Scherz?

In dem Bild ist die Initialisierung zu finden. Dort wird hintereinander
0x30 0x30 0x30 0x20
ausgegeben. "sendNibble()"
Dabei werden nur D4..7 gebraucht, die anderen sind offen und werden als 
"0" gesehen. Die Befehlsfolge holt den Controller aus jedem möglichen 
Zustand in "4-Bit Mode; warte auf erstes Nibble".

von Karl M. (Gast)


Lesenswert?

Hallo Stephan,

ich habe 2014 2x 16 Zeichen OLED programmiert und mir eine eigene 
Bibliothek erstellt.

Es basierend auf dem WS0010-Controller, der sich fast wie ein HD44780 
verhält, kann man eine 4 Bit LCD HD44780 anpassen.

Nur die Initphase ist etwas anders, beim WS0010-Controller.
Es muss noch ein Font ausgewählt werden und der Step up Wandler 
gestartet werden.

Steht auch schon so im Datenblatt:

http://cdn-reichelt.de/documents/datenblatt/A400/DS_OLED_EA.pdf

Siehe:
Initialisation example: 4-Bit

Wenn es ein WS0010-Controller ist, dann sollte man unbedingt mit seinen 
Datenblättern und den AP Notes arbeiten !

von Karl M. (Gast)


Lesenswert?

Gefunden,

das OLED hatte ehajo im Vertrieb:

http://dokuwiki.ehajo.de/_media/artikel:ws0010.pdf

von Karl M. (Gast)


Lesenswert?

Aha,

genau wichtig war es auch am Anfang, bevor man das OLED mit WS0010 
initialisieren wollte, nach Power On mindestens 500ms zu warten.

Ein Warmstart oder Reset des µC Controllers und erneute Initialisierung 
des WS0010 funktionierte bei mir nicht !
So sende ich am Anfang, also vor allen anderen Kommandos, einfach 3x das 
Command Byte 0x00 zu internen Synchronisierung.
Dann kann es wie im Datenblatt beschrieben im 4Bit Modus weiter gehen.

von Stephan (Gast)


Lesenswert?

Danke Karl!

Es hat geklappt, es arbeitet nun wie es soll. Vielen Dank!
Gut N8!

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
Noch kein Account? Hier anmelden.