Фактически это получается цифровой аналог интегратора. Я использую такой прием для
Отправлено
Леонид Иванович 25 марта 2009, г. 17:00
В ответ на: Я так делаю (+) отправлено пользователем
Codavr 25 марта 2009, г. 16:01
подавления помех на линиях цифрового ввода промышленных контроллеров. Только еще добавляю гитерезис.
А кнопки обрабатываю так: по тику системного таймера (обычно 1 мс) вызываю функцию обработки кнопок. 1. Сканирую клавиатуру. 2. Скан-код изменился? - Если да, то перезагружаю программный таймер подавления дребезга. - Если нет, декремент программного таймера. 3. Программный таймер обнулился? - Если да, то скан-код передаю задачам.
В результате кнопка считается нажатой (или отпущенной), если её состояние не меняется дольше заданного времени. Общая длительность дребезга не играет роли.