Zuerst einmal, bitte Code immer in Codetags schreiben, so wie es bei Holomino ist. Dadurch wird der Post lesbarer/übersichtlicher.
Bei diesem Code reagierst du mit dem "if (state=...)" auf eine Flanke sondern auf einen Zustand.
Ich weiß nicht welche Funktion du gerne hättest.
Abfrage mit "if (state=...)" reagierst du auf einen Zustand. Bei jedem Durchlauf des Programms wird der Status geprüft und angesprungen.
Bedeutet das jedes mal bei einem Low (wenn auf state==low geprüft wird) den jeweiligen Ausgang setzt.
Wenn du auf eine Flanke reagieren möchtest, benötigst du den aktuellen und den letzten Zustand. Die Flanke dauert genau einen Programmdurchlauf.
Hier in Pseudocode:
Code:
if (Status_aktuell==low && Status_alt==high)
{
Programm wird ausgeführt wenn fallende Flanke
}
Status_alt = Status_aktuell
Zu deiner Frage
Du kannst im Programm das high gegen ein low oder den Widerstand und den Taster tauschen. Ich verwende häufig (eigentlich immer wenn nötig) die internen Widerstände. Dadruch prüfe ich auf Low-Zustand.
MfG Hannes
Lesezeichen