Показать сообщение отдельно
Старый 23.02.2012, 17:19   #59
Bersenev
Бывалый писикарщик
 
Аватар для Bersenev
 
Регистрация: 23.04.2009
Возраст: 53
Город: Ставрополь
Регион: 26
Машина: Opel Zafira 2007
Сообщений: 5,275
Bersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant futureBersenev has a brilliant future
По умолчанию

Цитата:
Сообщение от onv23 Посмотреть сообщение
А простейший способ почему не работает ? (по нажатию кнопки запоминать ее код, в этот момент читать таймер, если дельта по таймеру при следующем нажатии меньше антидребезгового окна (200-300 мсек), то, если код следующей нажатой равен предыдущему запомненному, ничего не делать, если не равен - перезаписать код последней нажатой и новый таймер)
Цитата:
Сообщение от admin Посмотреть сообщение
Вот пример с фильтром дребезга
К сожалению ни алгоритм onv23 ни код admin не решают проблему дребезга, в обоих вариантах считается что первое полученное значение и есть правильный код, а в дальнейшем проверяется уже дребезг относительно этого значения. Но в реальности первое значение тоже подвергнуто дребезгу.

Допустим есть кнопка, которая выдаёт значения от 100 до 120. В результате при первом считывании может быть получено значение от 100 до 120. Теоретически по коду admin-а мы получим в плагин до 20 кодов кнопки.

В реальности у меня данный код на одну и туже кнопку выдаёт 3-4 кода, допустим при первом нажатии 110, при следующем 112, а потом может и 108 и.д. , а должен всегда один, чего я и добиваюсь. Для конкретного варианта резистивных кнопок это не сложно, а вот один код на всё разнообразие вариантов требует времени.
Bersenev вне форума   Ответить с цитированием