[an error occurred while processing this directive]
|
Есть два широкораспространенных способа устранения дребезга.
1. сравниваются два состояния кнопки через определенный интервал времени, который заведомо больше, чем длительность дребезга. Если оба состояния совпадают, то оно (состояние) считается истинным. Чаще всего такой обработчик клавиатуры "вешают" на прерывание с периодом 10-50мс. Чаще не нужно, т.к. частота нажатий клавиш даже у супервыдающейся машинистки ну никак не больше 50 в секунду :)
2. подсчет количества одинаковых состояний. Т.е. если засекли срабатывание кнопки, то в цикле определенное количество раз опрашивается ее состояние. Если все состояния в цикле совпадают, то по окончании его состояние кнопки считается устойчивым, если происходит хотя бы одно несовпадение, то цикл определения устойчивого состояния начинается вновь. Количество повторов определяется экспериментально и зависит от "хреновости" кнопок, но обычно примерно 5-30 раз.
Какой именно алгоритм реализовывать, вам виднее.
E-mail: info@telesys.ru