PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LCD Tetxt "flackert" bei ausgabe



neo3000
15.04.2010, 20:33
Der Text am LCD "flackert" wenn ich diesen Code ausführe, ich denke es liegt am "loop" da der text dadurch immer gelöscht und wieder neu geschrieben wird. kann ich den tetxt nur einmalig ausgeben aber ändern wenn sich der Portstatus ändert? Ich möchte den Port im loop überwachen den text jedoch am anfang nur einmalig ausgeben und dann nur ändern wenn sich der status ändert. Was muss ich ändern (code wäre super)

Danke

#LOOP
if not P1 then gosub tank1_voll else gosub tank1_leer
EXTPORT = STATION_IO
goto LOOP

#tank1_voll
checkLCD = 0
if checkLCD = 0 then print "#CLR#";"Tank Voll"
LED1 = on
LED2 = on
K3 = on
return

#tank1_leer
checkLCD = 1
if checkLCD = 1 then print "#CLR#";"Tank Leer"
LED1 = off
LED2 = off
K3 = off
return

shedepe
16.04.2010, 17:23
Speicherst halt den Zustand des Pins und schaust dann ob sich der Zustand geändert hat, wenn ja gibst du das aus, wenn nich gehts halt direkt weiter in der Schleife

jo_robot
16.04.2010, 21:37
oder du machst, wenn du eine zeitunkritische aufgabe hast, ein wait rein so 20 ms dann flackerts nicht mehr.

neo3000
17.04.2010, 07:57
Danke für eure schnellen Antworten, werde beide gleich mal ausprobieren. O:)

Dierk
17.04.2010, 11:49
Ich würde das so machen, dass nur wenn sich checkLCD verändert hat eine Ausgabe auf LCD erfolgt

.....

#tank1_voll
if checkLCD =1 then print "#CLR#";"Tank Voll" : checkLCD = 0
LED1 = on
LED2 = on
K3 = on
return

#tank1_leer
if checkLCD = 0 then print "#CLR#";"Tank Leer" : checkLCD = 1
LED1 = off
LED2 = off
K3 = off
return

Del
17.04.2010, 13:50
Hi

1. Den Text nur aktualisieren wenn sich die Ausgabe wirklich ändern soll!
2. Wenns geht nur den Teil vom Text ersetzen der sich auch wirklich ändert!

Das entalstet den µC und das Display.