Debouncing
Debouncing bezeichnet Maßnahmen, mit denen das mechanische Kontaktprellen eines Tasters oder Schalters so gefiltert wird, dass ein Tastendruck nur einmal gezählt wird.
Mechanische Kontakte schließen beim Betätigen nicht immer sofort sauber. In wenigen Millisekunden können sie mehrfach zwischen offen und geschlossen springen. Ein Mikrocontroller oder eine Tastaturmatrix ist schnell genug, diese kurzen Übergänge als mehrere Betätigungen zu erkennen. Das Ergebnis sind Doppelklicks oder mehrere Zeichen, obwohl die Taste nur einmal gedrückt wurde.
Entprellen kann hardwareseitig mit geeigneten RC-Schaltungen oder Schmitt-Triggern und softwareseitig über Zeitfilter oder Zustandsautomaten erfolgen. Bei Tastaturfirmware wird häufig eine kurze Debounce-Zeit verwendet, innerhalb der instabile Wechsel ignoriert oder bestätigt werden müssen. Eine zu kurze Einstellung lässt Prellen durch, eine unnötig lange kann die Reaktion verzögern. Wiederholte Eingaben können allerdings auch durch einen verschlissenen Switch oder Kontaktfehler entstehen; Debouncing ist deshalb nicht für jedes Problem die Lösung. Bei optischen oder Hall-Effekt-Schaltern ist das klassische mechanische Kontaktprellen je nach Bauart geringer oder entfällt. Entprellung kann in Hardware mit Widerständen und Kondensatoren oder in der Firmware durch Zeitfenster und Zustandslogik umgesetzt werden. Das gilt besonders bei klassischen mechanischen Tastern.
