Hallo,

Man kann eine ISR aufsetzen, welche z.B. alle 1ms den Eingang abfrägt.

Der aktuelle Wert wird dann in ein Schieberegister eingeschoben.

Wenn man 8 Bit verwendet (8ms) und das Schieberegister den Wert 0xFF hat, stand am Eingang für mindestens 8ms eine 1 an.

Bei 0xFF wird dann der Impuls ausgewertet und ein Flag gesetzt. Ist das Flag schon gesetzt wird nicht ausgewertet.
Das Flag setzt man bei != 0xFF zurück.


Bei Tasten habe ich meistens einfach nur alle 20ms den Eingang abgefragt und dann nur den aktuellen mit dem vorigen Zustand verglichen.
Wenn man die Tasten dann noch in ein Bit-Array packt, kann man alle Tasten gleichzeitig entprellen.

MfG Peter(TOO)