Voltage schrieb:
> Hallo.
>
> Kann man bei einem AVR eine Entprellung und Entstörung wie folgt machen:
>
> Bei einer steigenden Flanke wird ein Timer gestartet.
Nö, Unfug, der Timer wird bereits beim AVR-Start gestartet und liest
alle etwa 4 bis 30 ms ein komplettes Byte mit bis zu 8 Tasten ein.
> Erst nach Ablauf
> von 100 ms wir der Wert akzeptiert.
Nööö, erst wenn 4 Runden hintereinander der Tastenzustand als (gegenüber
gemerktem und als gültig erklärten Zustand) verändert erkannt wurde,
erreicht der Tastendruckzähler seinen Endwert, was dazu führt, dass der
neue Tastenzustand übernommen (gemerkt und für gültig erklärt) wird. Als
Zugabe gibt es noch Flankenerkennung (Taste wurde irgendwann mal
gedrückt, aber noch nicht bearbeitet) für bis zu 8 Tasten gleichzeitig
und mit kleiner Erweiterung auch eine Repeatfunktion für ausgewählte
Tasten.
Falls Dich das interessiert, dann suche mal in der Codesammlung nach
"Bulletproof".
> Kann man damit auch die 50 Hz Einkopplung aus dem Netz eliminieren, die
> sonst 50 mal pro Sekunde triggert?
Man muss die Tasten ja nicht gerade mit exakt 50 Hz abtasten. Obwohl das
bei mir (mit 20 ms) noch nie zu Fehlauslösungen geführt hat, obwohl ich
nur die AVR-internen Pullup-Widerstände benutze. Wenn bei Dir das Netz
einstreut, dann machst Du was Anderes falsch.
...