Hallo Alex,
Taster prellen. d.h. sie schließen und öffnen bei einer Betätigung mehrmals sehr schnell bis die Kontakte ihre endgültige Lage einnnehmen. Die Prellzeit von der Betätigung bis die Kontakte zu Ruhe kommen ist vom Taster abhängig und dauert im Allgemeinen 5 bis 20ms.
In Deinem Programm sehe ich keine Maßnahme dagegen, so daß die ISR bei einem Tastendruck öfter ausgeführt wird und dann das Blinkmuster zufällig eingestellt wird, das dann wie das vorhergehende Blinkmuster aussieht oder eben zufällig das andere ist.
Also Tastenentprellung implementieren.
Wozu ist das _delay_ms in der ISR gut. Es wird nie ausgeführt, da mit dem "return;" der Ablauf der ISR beendet wird und das Normalprogramm wieder aufgenommen wird.Code:return; _delay_ms(250);
Gruß
Searcher
Lesezeichen