An bestimmte LCD-Position schreiben und Init-Probleme

Gast #2435101
Lesenswert?

Hallo allerseits,

ich schreibe grade ein Programm, um ein LCD (DEM 16216 SYH-LY) mit einem 
Mikrocontroller (MSP430G2231, auf einem Launchpad) anzusteuern.
Dabei bin ich auf folgendes Problem gestoßen:

In der main-Funktion versuche ich, an eine bestimmte Displayposition zu 
springen, indem ich die  DDRAM-Adresse setze.
Komischerweise springt der Cursor schon mal nicht an die erwartete 
Position, das 3. Zeichen, sondern an das 2. Zeichen.
Wenn ich jetzt versuche, an diese Position ein Zeichen zu schreiben, 
rutscht der Cursor zwar eine Position weiter - das Zeichen wird jedoch 
nicht geschrieben, die Stelle bleibt leer.
Wenn ich vor dem Setzen der DDRAM-Adresse (nach der Initialisierung) ein 
Zeichen schreibe, wird dieses angezeigt. Der Sprungbefehl bewirkt, dass 
der Cursor zwei Positionen hinter dem geschriebenen Zeichen erscheint.

Nun die Frage: Ich hab die Initialisierungsbefehle und den Sprungbefehl 
laut dem Datenblatt geschrieben (denke ich zumindest). Habe ich einen 
Fehler im Quelltext? Könnte der Fehler eventuell an der Hardware liegen?

Die Spannungsversorgung vom LCD sind 5V, die Signale vom Mikrocontroller 
jedoch nur 3,5 Volt.

Weiterhin hab ich wohl noch einen Fehler in der Initialisierung: Wenn 
ich am Mikrocontroller einen Reset auslöse, wird das LCD manchmal nur 
einzeilig initialisiert. Durch mehrmaliges Auslösen von Reset wird das 
Display dann zweizeilig initialisiert.

Danke schon mal im voraus.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren