[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ: готовой программы на С быть не может.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Mihasic 09 апреля 2002 г. 17:59
В ответ на: Подскажите пожалуйста, как бороться с дребезгом клавиш, может у кого есть готовая программа на С? отправлено Shuric 09 апреля 2002 г. 08:43

Дело в том, что для считывания значения кнопок обычно используют таймеры, а они для разных семейств разные, так что без ковыряния в железяках Вам не обойтись. Хотелось бы возразить в резкой форме апологетам работы только по отпусканию: такой подход производит крайне невыгодное впечатление на заказчика. Заказчики, они же как дети - нажал, так пусть щёлкнет, причём тут же. Пожалуй, что-нибудь вроде ресета ещё как-то психологически оправдано, но кнопки типа "ДАВАЙ!" - недопустимо. Из двух подходов, любезно указанных уважаемым Linuxoid'ом, я бы посоветовал второй, именно принятие решения по голосованию, причём само голосование упростил бы до крайности: для активного состояния (нажатая кнопка) - никакого голосования, срабатывает сразу, для пассивного - побольше (у меня это четыре из четырёх). Такой подход даёт психологически оправданное быстродействие, если период опроса около 5 миллисекунд. Тут как-то все вдруг заговорили про 30 и даже 70 миллисекунд - это никуда не годится: пользователь повесится. Именно поэтому работа на простой задержке порядка длины дребезга не может быть рекомендована. Ну, а сторонникам аппаратных прибамбасов скажем твёрдо: нынче не пещерный век, господа!
С уважением,
Михасик.

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

Ответы



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

E-mail: info@telesys.ru