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.
nochmal hochschieb Gibt es keine Ideen, woran es liegt oder was ich noch probieren könnte?
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.