Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

Закрытая тема
Опции темы
Непрочитано 26.07.2008, 01:20   #11
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,443
Сказал спасибо: 99
Сказали Спасибо 315 раз(а) в 231 сообщении(ях)
Godzilla82 на пути к лучшему
По умолчанию

Всегда делал так:
Опрос кнопок (соответствующий бит равен нулю), как только её состояние изменилось - процедура обработки нажатия клавиши, а также увеличение счётчика на единицу. Следующий опрос - не ранее чем через 100 мс. Если нажата - то счётчик опять увеличивается на 1, но процедура обработки не вызывается до тех пор, пока счётчик не станет равным 20 (2 сек). А вот уж тут опять вызов процедуры. Причём если через 100 мс кнопка опять нажата, то и вызов процедуры произойдёт через 100 мс. Если же кнопка отпущена - то сброс счётчика.

Этим я добиваюсь такого эффекта:
Первое нажатие - реакция мгновенная. Если кнопка удерживается менее 2 сек - то считается, что это одно нажатие (удобно для увеличения/уменьшения какого-нибудь параметра на единицу). Если нажата более 2 сек, то автоматически 10 раз в сек. вызывается обработка нажатия. То есть, ускоренное увеличение нужного параметра после продолжительного нажатия.

Физически нажимать кнопку быстрее 50-70 мс затруднительно. Так что задержка 100 мс - вполне оптимальная. И если надо быстро нажать, скажем, 5 раз, то проблем, как правило, не возникает.
Реклама:
Godzilla82 вне форума  
Непрочитано 30.07.2008, 11:59   #12
Boris_Britva
Временная регистрация
 
Регистрация: 17.04.2008
Сообщений: 91
Сказал спасибо: 3
Сказали Спасибо 14 раз(а) в 14 сообщении(ях)
Boris_Britva на пути к лучшему
По умолчанию

лучше скинь листинг, будет понятнее
Boris_Britva вне форума  
Закрытая тема

Закладки

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Победить дребезг мышиного колеса. vladikas2008 Микроконтроллеры, АЦП, память и т.д 9 04.12.2008 13:19
Распиновка контактов Web камеры nuuser6003 Ремонт оргтехники 2 28.11.2008 13:07
Максимальный ток контактов разьёма RG45 Andrewg Информация по радиокомпонентам 3 05.07.2007 12:46
Программное избавление от дребезга контактов. bopohok Микроконтроллеры, АЦП, память и т.д 10 06.04.2007 14:26
Подскажите, как лучше всего бороться с дребезгом контактов li$ergin Микроконтроллеры, АЦП, память и т.д 7 08.01.2005 22:27


Часовой пояс GMT +4, время: 00:02.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot