Hallo ! Ich gebs langsam auf ... ich versuche ein (zugegebenermaßem altes) Display PHILIPS LTN214R-10 anzusteuern. Die Initialisierung scheint zu klappen. Ich kann den Cursor auf dem Display sehen und positionieren. Wenn ich ein Zeichen ausgeben will, wird nichts angezeigt; der Cursor wandert aber nach rechts !? Hat da jemand eine Idee ? Die Routine zum Schreiben ist für Cmd und Data gleich, nur dass halt RS auf 1 gestellt wird. Grüße Dietmar
... Code muss erst gesäubert werden ... kommt demnächst... Kontrast ? Ich seh doch den Cursor ! DK
ich würde sagen, das liegt zu 90% an der Adressierung der Zeilen. Beim Schreiben inkrementierst du zwar die Cursorposition, schreibst aber an eine undef. Speicherstelle. Mir ist es schon einmal passiert, dass die Adressierung der Zeilen im Datenblatt falsch war. Weiters musst du beachten, dass in der Regel die zweite Zeile nicht direkt an die letzte Adresse der ersten Zeile angehängt wird. Bsp. 2x16 Display: ZEICHEN = 16, ZEILEN = 2, /* DDRAM Adressen fuer den Zeilenbeginn */ ZEILE_1_ADR_0 = 0x00, ZEILE_2_ADR_0 = 0x40, /* DDRAM Adressen fuer das Zeilenende */ ZEILE_1_ADR_15 = ZEILE_1_ADR_0 + ZEICHEN, ZEILE_2_ADR_15 = ZEILE_2_ADR_0 + ZEICHEN,
Hallo Mathias, danke für den Tipp. Mein Code hängt dran. Es ist eine angepasste Version des Fleury-Codes (nicht schön aber evolutionär entstanden :-) Die Aufrufsequenz ist: lcd_init(); lcd_home(); lcd_putc('A'); lcd_putc('B'); lcd_putc('C'); Danach blinkt der Cursor an vierter Stelle ... Muss ich vor der Ausgabe extra die Adresse setzen, wird nicht an dir Cursorpos geschrieben ? Grüße und vielen Dank Dietmar
Viele Wege der Evolution führten in die Irre, wie man an all den ausgestorbenen Arten erkennen kann. Deine evolutionäre Entwicklung der LCD-Initialisierung reiht sich darin ein. Fang ruhig mal wieder beim Fleury'schen Original an.
http://www.sprut.de/electronic/lcd/ nach dem schema hab ich auch meine init aufgebaut! hast du auch darauf geachtet, ob du den 4bit bzw. 8 bit mode verwendest??
@A.K. Das Fleuryschen Original zeigte das selbe Verhalten, deswegen die Anpassungen um es besser zu verstehen. @Mathias Genau so sieht meine Init und meine Schreibroutine aus; ich vermute nun fast, dass der Controller doch etwas anders tickt... Ich versuchs weiter - vielen Dank allen ! Dietmar
Wenn ein korrekt konfigurierter Fleury nicht funktioniert, dann kann's eigentlich nur noch die Hardware/Beschaltung sein. Zu deinem Code: Die ersten paar Initialisierung-Kommandos kann man nicht per lcd_write absetzen, da lcd_write den 4-Bit Modus voraussetzt, das Device aber sich im 8-Bit-Modus befindet und daher die beiden 4-Bit-Gruppen als 2 8-Bit-Kommandos interpretiert. So schön die Sprut-Seite aussieht, an dieser Stelle ist sie etwas mager.
Arrrrrrrrrrrrrrgh .... Löten sollte man können RS mit RW gebrückt ....... Shame on me and thanks to all ! Dietmar
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.