Moin moin, ich versuche hier gerade mein EA W204B-NLW mit der LCD-Bibliothek von Peter Fleury zum Laufen zu bringen. Allerdings wird nur in den Zeilen 1 und 3 etwas angezigt. Soweit ich mir das jetzt aus diversen Foren zusammengereimt habe stimmt da etwas nicht mit der Initialisierung des 4-Zeilen-Modus. Kann mir da jemand weiterhelfen und mir sagen wo ich die Bibliothek anpassen muss? Oder vielleicht findet ja jemand noch einen ganz anderen Fehler. Und ich würde mich auch nicht wehren wenn mir jemand den link zu einer anderen funktionierenden KS0073-Bibliothek verrät ;) Zur Sicherheit habe ich im Anhang nochmal mein gesamtes Projekt, damit ihr sehen könnt an welchen Stellen ich meine Eintragungen in der Bibliothek gemacht habe. Vielen Dank schon mal an alle hilfreichen antworten. Grüße Thorben
Heureka! Mit Hilfe vieler anderer Beiträge hier im Forum und unzähligen Datenblättern zu ein und demselben Display konnte ich noch einen Fehler in der Fleury-Bibliothek aus machen. Im Original heisst es:
1 | #define KS0073_EXTENDED_FUNCTION_REGISTER_ON 0x24 /* |0|010|0100 4-bit mode extension-bit RE = 1 */ |
2 | #define KS0073_EXTENDED_FUNCTION_REGISTER_OFF 0x20 /* |0|000|1001 4 lines mode */ |
3 | #define KS0073_4LINES_MODE 0x09 /* |0|001|0000 4-bit mode, extension-bit RE = 0 */ |
Da sind nicht nur die Kommentare ein wenig durcheinander geraten, sondern muss in den KS0073_EXTENDED_FUNCTION_REGISTER_ON und _OFF auch noch ein weiteres Bit gesetzt werden. Der KS0073 Controller hat 2 Bits für die aktiven Zeilen. Eins schaltet zwischen 1- und 2-Zeilen-Modus um und das andere zwischen 4-Zeilen-Modus und dem rest. Leider reicht es nicht aus nur das 4-Zeilen-Modus-Bit zu setzen (so wie ich die Datenblätter auch zunächst verstanden habe), das andere Bit muss auch auf 2-Zeilen Modus gesetzt werden, sodass meiner Meinung nach die richtigen Defines so aussehen müssten:
1 | #define KS0073_EXTENDED_FUNCTION_REGISTER_ON 0x2C /* |0|010|1100 4-bit mode extension-bit RE = 1 */ |
2 | #define KS0073_EXTENDED_FUNCTION_REGISTER_OFF 0x28 /* |0|010|1000 4-bit mode, extension-bit RE = 0 */ |
3 | #define KS0073_4LINES_MODE 0x09 /* |0|000|1001 4 lines mode */ |
Hoffe ich konnte anderen die damit auch Probleme haben helfen. PS: Die Kommentare sind nun auch sortiert ;)
Schick das doch auch mal an Peter Fleury. Vielleicht kann der das noch in seiner lib anpassen. Oliver
Danke für euren Input. Habe diese übernommmen und neue Version der LCD Library hochgeladen.
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.