Hallo an alle!!

So, ich hab da einmal eine Frage. Ich muss für eine Menüsteuerung 4
Tasten einlesen.

Entweder ich mach es mit externen Interrupts oder ich frage alle zb
10ms die Taster ab.
Was ist da besser geeignet??

Wenn ich das ganze mit dem Timer mach lassse ich den 8 Bit Timer im
Output Compare Modus laufen. Dabei zähle ich von 0 - 99. So treten bei
16MHz Taktfrequens und einem Prescaler von 64 25 Interrupts pro 10ms
auf, oder??

Dann erhöhe ich in der Interruptroutine eine Zählervariabele und prüfe
ob sie größergleich 25 ist. Wenn ja, setze ich die Variable auf 0 und
frage die Taster ab.

Aber die Taster prellen doch meistens mehr als 10ms oder? Also muss ich
das ganze noch Softwaretechnisch entprellen. Oder besser von der
Hardwareseite??

Ich könnte doch zB 10x prüfen ib der Taster gedrückt ist, oder?? Doch
wie mache ich das am besten?? Ich hab eine Variable die mit 10
initialisiert wird. Dazu habe ich noch eine Statusvariable. In der
steht ob der TAster gedrückt war. Wenn in der 0 steht, dann prüfe ich
ob der TAster gedrückt ist. Wenn ja, dann schreibe ich eine 1 in die
Variable. Wenn in der Variable eine 1 steht, dann prüfe ich den Taster,
wenn ja, veringere ich die Zählervariable (die am Anfang auf 10 stehet).
Wenn eine 1 in der Variable steht und der TAster nicht gedrückt ist,
dann schreibe ich wieder eine 0 in die Statusvariable und in die
Zählervariable schreibe ich wieder eine 10.

Kann ich das so machen?? Sind 10 Prüfungen zu wenig?? Das wären 100ms.

Kann ich das noch anderes lösen??

Dank eim Voraus

Gruß Robert