А что будет если сразу две кнопки нажать в ряду?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено Чу 05 ноября 2004 г. 08:15
В ответ на: Опрос клавиатуры по прерыванию. AVR-ка. Сделал, но работает коряво... отправлено Oleg Danilov 05 ноября 2004 г. 06:17

будет всегда старшая срабатывать а младшая отрубацца.
Не проще ли прочитать данные из порта и сдвинуть их в удобное место
типа так:
in tmpi,PIND
andi tmpi, 0b00001100
rep N ror(rol) tmpi ?

ldi tmpi, 0xFF
w: dec tmpi
brne w - цикла будет явно недостаточно, нужно порядка 10..100 ms

lp1: in tmpi, PIND
andi tmpi, 0b00001100
cpi tmpi, 0b00001100
brne lp1 - сие есть устранение дребезга? т.е. Вы сначала обработку сделали, а потом смотрите встали ли кнопки в стабильное состояние(отпустил ли их юзер, не произошло залипание)? честно - не понял:(
наверное это надо смотреть в контексте программы

Поскольку я потратил некоторое время на Ваш код, позвольте маленький совет - *всегда* комментируйте свой код, тогда код, возможно будет прозрачен не только для Вас, но и для людей, которые его будут в последствие поддерживать.

сразу оговорюсь на асме и под AVR сейчас не программирую, так что:)

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

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru