Forum: Mikrocontroller und Digitale Elektronik Fleury-Bibliothek für KS0073 im EA W204B-NLW


von Thorben B. (Gast)


Angehängte Dateien:

Lesenswert?

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

von Thorben B. (Gast)


Lesenswert?

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 ;)

von Oliver (Gast)


Lesenswert?

Schick das doch auch mal an Peter Fleury. Vielleicht kann der das noch 
in seiner lib anpassen.

Oliver

von Thorben B. (Gast)


Lesenswert?

jop, schon getan!

von Peter F. (pfleury)


Lesenswert?

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