PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Löschen einer Zeile LCD



anfänger99
19.02.2011, 11:37
Hallo,

habe einen zweizeiligen Display und würde es gerne so programmieren, dass wenn ich einen Taster drücke, dass in der zweiten Zeile etwas angezeigt wird. Das funktioniert schonmal, aber ich würde dieses Text gerne nach 5 Sekunden wieder verschwinden lassen. Habe es schon mit cls probiert nur leider verschwindet dann ja auch der Text von der 1. Zeile.
Welchen Befehl benötige ich stattdessen?

oberallgeier
19.02.2011, 11:50
Hi,

willkommen im Forum. Vermutilch ist meine Lösung nicht perfekt, vielleicht gibt es auch einen konkreten Befehl, aber ich habe das mit Erfolg so gelöst:

lcd_gotoxy ( 0, 1); // Cursor auf Anfang untere Zeile = Sp0, Z1
// 012345678901234567890123 "Faulenzer" für die komplette Zeile
lcd_puts (" "); // zweite Zeile löschenUnd das lasse ich zwischen den Ausgaben an dieser Stelle immer laufen. Quick and . . .

anfänger99
19.02.2011, 12:06
Vielen Dank! Werde es direkt mal ausprobieren...klingt nach einer raffinierten Umgehung des Problems;-)

stefan_Z
21.02.2011, 10:51
In Bascom wäre das:
Const Delete_line = " " '20 Leerzeichen als Konstante
Locate 1, 1 '(Würde die 1. Zeile ab 1. Zeichen löschen)
LCD Delete_line

Aufpassen musst du, wenn du NICHT ab der 1. Stelle löschst, denn je nach Display werden die Zeichen dann entweder verschluckt, oder in eine andere Zeile geschrieben, oder das Display macht was total bescheuertes.
Das Beispiel gilt für ein 20-Zeichen-pro-Zeile-Display.