Forum: Mikrocontroller und Digitale Elektronik Frage zu LCD Cursor positionieren


von Holger (Gast)


Lesenswert?

Hallo Fangemeinde,

sollte hier jemand sein, der mehr Ahnung von LCD Programmierung hat
(das ist bestimmt kein Kunststück, bin blutiger Anfänger) würde ich
mich freuen wenn er sein Wissen mit mir teilt. Das Problem:

Ich versuche gerade eine Temperatursteuerung zu programmieren. Display
zeigt an "Temperatur" und schreibt brav den gemessenen Wert dahinter.
Ein Tastendruck springt in den Programmiermodus, löscht das Display und
nun soll eine 1-stellige Eingabe erfolgen. Ich dachte so:

ich schreib mal erstmal den Text, dann positionier ich mal den
Cursor(2.Zeile,5.Zeichen), schalte Cursor und blinken ein, gebe den
Wert aus, und positionier den Cursor wieder wieder in 2.Zeile
5.Zeichen.

Das Ergebnis sollte eine blinkende einzelne Stelle im Display sein,
deren Wert sich nach meiner Eingabe (das Ganze läuft in einer Schleife)
ändert, bis ich den Programmiermodus mit Tastendruck wieder verlasse.
Leider funktioniert das nicht so wie gewollt. Der Cursor blinkt zwar,
ist aber teilweise auch an Stelle 2/6 oder 2/7 zu sehen und springt
wild hin und her.
Nochmal zu konkreten Frage: Wie positioniert man einen blinkenden
Cursor fest auf einer Stelle deren Eingabewert auch noch laufend
aktualisiert werden muss?
In den Befehlen des LCD kann ich nur wählen ob der Cursor nach einer
Eingabe links oder rechts springt, aber nicht stehenbleibt.

Schon mal Danke für die Hilfe!
Gruss Holger

von Steffen (Gast)


Lesenswert?

Den Cursor musst Du so oder so wieder auf deine Eingabestelle setzten.
Das sollte auch nicht großartig sichtbar (also störend) sein. Wichtig
ist, dass Du deinen aktuellen Ausgabewert nicht ständig bei jedem
Schleifendurchlauf sondern immer nur bei Änderung an das Display
schickst. Dann sollte der Cursor auch nicht springen.

Noch mal kurz und knapp: Änderung des Wertes --> Zeichen ausgeben,
Cursor (Adresse) wieder auf aktuelle Stelle setzen

Steffen

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.