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

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

Отправлено rezident 05 февраля 2006 г. 22:41
В ответ на: Да было бы интересоно. Еще вот интересует такой вопрос как быть с ведь работа фазового регулирования лежит на таймере который работает по таймеру, как быть с остальными прерываниями, ведь они могут нарушать временые интервалы, сбивая работу устройства. отправлено <font color=gray>eXeC001er</font> 05 февраля 2006 г. 22:24

Есть два широкораспространенных способа устранения дребезга.
1. сравниваются два состояния кнопки через определенный интервал времени, который заведомо больше, чем длительность дребезга. Если оба состояния совпадают, то оно (состояние) считается истинным. Чаще всего такой обработчик клавиатуры "вешают" на прерывание с периодом 10-50мс. Чаще не нужно, т.к. частота нажатий клавиш даже у супервыдающейся машинистки ну никак не больше 50 в секунду :)
2. подсчет количества одинаковых состояний. Т.е. если засекли срабатывание кнопки, то в цикле определенное количество раз опрашивается ее состояние. Если все состояния в цикле совпадают, то по окончании его состояние кнопки считается устойчивым, если происходит хотя бы одно несовпадение, то цикл определения устойчивого состояния начинается вновь. Количество повторов определяется экспериментально и зависит от "хреновости" кнопок, но обычно примерно 5-30 раз.
Какой именно алгоритм реализовывать, вам виднее.

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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru