реклама на сайте
подробности

 
 
> Прерывания от кнопок
over
сообщение Jan 20 2005, 16:39
Сообщение #1





Группа: Новичок
Сообщений: 11
Регистрация: 20-01-05
Пользователь №: 2 086



Есть в семействе AVR чип которого можно разбудить изменением лог. уровня на входе порта? Реально есть 4 кнопки, нужно чтобы контроллер впадал в спячку при отпускании кнопки и завершении операции и соотв. будился при нажатии любой кнопки. В 2313 есть только два входа внешнего прерывания что маловато. Можно подвесить что-нибудь снаружи, но теряется кайф использования микроконтроллера.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Stas
сообщение Jan 29 2005, 19:32
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 464
Регистрация: 1-10-04
Из: Челябинск
Пользователь №: 751



Дребезг появляется в момент нажатия / размыкания кнопки, в момент удержания - он маловероятен, если же конечно Вы не используете отечественные силовые кнопки с огромным усилием нажатия. Первое нажатие клавиши фиксируется по внешнему прерыванию, возникает дребезг от замыкания пластины с контактами внутри клавиши, мы входим в прерывание и запрещаем его, запускаем таймер (на дребезг нам делается все равно, а за 250 мс он угомонится) и продолжаем опрос по таймеру через 250 мс, для определения вторичного нажатия (если имеет место быть удержание клавиши). Как определили что клаву мацать закончили (при очередном прерывании нет повтора нажатой кнопки), то опять разрешаем внешнее прерывание. И все по новому циклу, ждем внешнее прерывание. Для устранения эффекта притормаживания устройства при быстром наборе, в каждом прерывании по таймеру надо смотреть на нажатие новой клавиши, те новый прочитаный код совпал с прошлым кодом или нет. Если нет, то определяется нажатие другой кнопки. Время 250 - это на любителя, за 50 - не каждый успеет палец убрать. Реально я делал время сканирования в пределе 200 - 300 мс, работало аж самому нравилось как. blush.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- over   Прерывания от кнопок   Jan 20 2005, 16:39
- - RayDen   Обычные четырехногие кнопки для пайки на плату име...   Jan 20 2005, 17:05
|- - over   Цитата(RayDen @ Jan 20 2005, 20:05)Обычные че...   Jan 20 2005, 17:21
|- - -Tумблер-   Цитата(over @ Jan 20 2005, 20:21)Но ситуация ...   Jan 21 2005, 12:05
- - nml   Цитата(over @ Jan 20 2005, 19:39)Есть в семей...   Jan 20 2005, 20:24
- - halfdoom   Цитата(over @ Jan 20 2005, 20:39)Есть в семей...   Jan 21 2005, 08:42
- - KRS   В Atiny2313 есть же Pin Change Interrupt   Jan 21 2005, 13:33
- - -Tумблер-   Цитата(over @ Jan 20 2005, 19:39)Реально есть...   Jan 21 2005, 14:56
|- - halfdoom   Цитата(-Tумблер- @ Jan 21 2005, 18:...   Jan 24 2005, 04:34
- - sseett   Как вариант - использовать АЦП (всего 1 вывод), а ...   Jan 22 2005, 04:47
- - TriD   Цитата(over @ Jan 20 2005, 20:39)Есть в семей...   Jan 24 2005, 14:19
- - over   Всё прочитал. Благодарю. Особенно Trid. Попробую о...   Jan 28 2005, 20:18
- - over   Есть вопрос по алгоритму защиты от дребезга контак...   Jan 29 2005, 18:01
- - Stas   Я делаю так. По внешнему прерыванию от нажатия кно...   Jan 29 2005, 18:29
- - over   проц просыпается и считывает код нажатой клавиши А...   Jan 29 2005, 19:03
- - Пришелец   Нормально работает опрос 1 раз в 50 мс (с нормальн...   Jan 31 2005, 05:37
- - sav6622   Я устраняю дребезг следующим образом: организуется...   Feb 3 2005, 12:21
- - veter   у меня реализовано следующее: по таймеру вызываю ...   Feb 3 2005, 14:33
- - berberber   Цитата(over @ Jan 20 2005, 19:39)Есть в семей...   Feb 4 2005, 17:26


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th July 2025 - 20:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01375 секунд с 7
ELECTRONIX ©2004-2016