Hallo Community, Ich habe ein Verständnisproblem mit der Ansteuerung eines alphanumerischen OLED-Displays des Typs EA W204-XLG (Datenblatt: http://www.mouser.com/ds/2/127/olede-971.pdf). Das Display verwende ich nicht im "herkömmlichen" 4-/8-Bit Modus, sondern über das serielle SPI-Interface. Wieso werden hier zwei Datenbyte übertragen? Eigentlich sollten 8 Datenbit + 2 Steuerbits reichen, da das R/W-Bit ja die Datenrichtung steuert. Im Parallelmodus sind es ja auch nur 8Bit. Was steht im ersten "Data write", was im zweiten? Vielen Dank im Voraus, Gruss Hans
Weil der die Länge der Datenworte bei diesem Display immer 8 Bit sind. Und für die letzten beiden Bits muss man eben ein ganzes Datenwort senden.
Hallo Stefan, Danke für Deine Antwort. Aber die RS- und RW-Bits werden ja am Anfang gesendet, gefolgt von den 8 Datenbits. Da könnte man die (erneuten) RS- und RW-Bits sowie das zweite Datenbyte doch komplett weglassen, oder? Mfg Hans
Beitrag #5180744 wurde von einem Moderator gelöscht.
Entschuldigung, da habe ich nicht vernünftig das Datenblatt gelesen - bin noch unterwegs. Der Prozessor muss erstmal den Befehl empfangen, dass du etwas auslesen willst. Erst dann kann er das Datenregister beschreiben, was du mit dem zweiten Block auslesen kannst. Bei den HD4470 muss man bevor man die Daten parallel lesen kann auch eine kurze Zeit warten, wenn ich mich recht entsinne. Das wird bei deinem Display ähnlich sein.
:
Bearbeitet durch User
Stefan S. schrieb: > Bei den HD4470 muss man bevor man die Daten parallel lesen kann auch > eine kurze Zeit warten, wenn ich mich recht entsinne. Wobei diese Zeit bei den modernen TFTs sehr kurz ist. 350 ns beim ILI9341.
Danke Euch für die Antworten. Aber wie muss ich vorgehen, um Daten zu schreiben? Kommen die Nutzdaten in das erste oder zweite Feld? MfG Hans
Moment... Bevor wir aneinander vorbei reden... Willst du überhaupt Daten auslesen?! Oder nur Daten an das Display senden?
Hallo Stefan, Grundsätzlich möchte ich Daten schreiben. Sorry, da habe ich mich vielleicht undeutlich ausgedrückt. Um das Display aber "korrekt" anzusteuern, sollte man das Busy Flag berücksichtigen, was ein Lesen der Daten erfordert. Deshalb sollte ich auch wissen, wie man Daten liest. Ich werde einfach aus dem Datenblatt nicht schlau, wie das Lesen und Schreiben der Daten und das Schreiben der Instruktionen genau gemeint ist. Deshalb habe ich nachgefragt. Gruss, Hans
Soooo das Display läuft soweit. Falls jemand ein ähnliches Problem haben sollte: Unbedingt Application Note (viel besser als das farbige "Datenblatt") und Beispielcode auf der Herstellerseite beachten (http://www.lcd-module.de/support/application-note.html). Wie dort zu sehen ist, benötigt man nicht die "doppelte" Übertragung mit den beiden Datenfeldern, sondern einfach 10Bit-SPI, mit den 2 Steuerbits und den nachfolgenden Daten, fertig. Danke trotzdem für Eure Hilfe. MfG
Das Ready auszulesen kann man sich sparen, wenn man das Timing einhaelt. Das wichtigste am Timing ist der sehr lange Delay beim Reset. Ich habe zB einen System Tick von 1..10ms und schreibe bei jedem genau ein Byte. Dann gibt es nie Probleme mit kleinen Character Displays, und ich brauche keinen Delay.
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.