INT-0-8-15 schrieb:
> Wäre das nicht doppelgemoppelt? Weil dass der PIN gedrückt wurde, ist ja
> sicher, sonst wäre er erst garnicht in die ISR-Routine gekommen,
> richtig?
Schon.
Aber deine Frage war ja: wie komme ich aus der ISR wieder raus, wenn der
Taster losgelassen wird. Und diese Lösung würde realsieren: Solange die
Taste gedrückt ist, bleibt das Programm in dieser Schleife hängen.
Vielleicht ist dir auch gar nicht bewusst, dass diese Abfrage das hier
realsiert:
* solange eine Taste gedrückt ist
und nicht
* wenn eine Taste gedrückt wurde, mache einmal
Aber sei gewarnt: Es ist trotzdem die falsche Lösung.
Die richtige Lösung besteht darin, wie weiter oben schon angesprochen,
dass deine Hauptschleife 2 Modi hat, die per Variable ausgewählt werden.
In der ISR wird dann einfach nur der andere Modus ausgewählt, in dem die
Variable entsprechend gestellt wird.
Auf solche nicht absehbar langen Schleifen in einer ISR solltest du dich
erst gar nicht einlassen.