[an error occurred while processing this directive]
Есть два общепринятых способа устранения дребезга.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено rezident 11 апреля 2006 г. 07:43
В ответ на: Об отработке алгоритма нажатия кнопки. отправлено Akasha 11 апреля 2006 г. 07:11

1. Опрос с периодом, заведомо превышающим дребезг.
2. Счет одинаковых состояний по событию.
В первом случае опрос клавиатуры "подвешивается" на какое-либо прерывание, котрое происходит с периодом 0,02-0,3с. Чаще не нужно, т.к. такой большой темп нажатий даже у профессиональных машинисток не бывает :) Если состояние между двумя соседними опросами совпадает, то оно считается устойчивым и генерируется код нажатой клавиши.
Во-втором случае можно использовать прерывания даже для каждой кнопки. При нажатии клавиши генерируется прерывание. В прерывании идет циклический опрос состояния в течение некоторого времени (длительность опроса). Если счетчик одинаковых состояний превышает некоторое число (скажем 15-30), то состояние считается устойчивым и генерируется код нажатой клавиши. Если же хотя бы один результат опроса отличается, то счетчик сбарсывается и начинается новый отсчет до истечения времени длительности опроса.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru