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
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
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
oder du machst, wenn du eine zeitunkritische aufgabe hast, ein wait rein so 20 ms dann flackerts nicht mehr.
Danke für eure schnellen Antworten, werde beide gleich mal ausprobieren.
Ich würde das so machen, dass nur wenn sich checkLCD verändert hat eine Ausgabe auf LCD erfolgt
Code:..... #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
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.
Lesezeichen