[an error occurred while processing this directive]
|
1. Опрос с периодом, заведомо превышающим дребезг.
2. Счет одинаковых состояний по событию.
В первом случае опрос клавиатуры "подвешивается" на какое-либо прерывание, котрое происходит с периодом 0,02-0,3с. Чаще не нужно, т.к. такой большой темп нажатий даже у профессиональных машинисток не бывает :) Если состояние между двумя соседними опросами совпадает, то оно считается устойчивым и генерируется код нажатой клавиши.
Во-втором случае можно использовать прерывания даже для каждой кнопки. При нажатии клавиши генерируется прерывание. В прерывании идет циклический опрос состояния в течение некоторого времени (длительность опроса). Если счетчик одинаковых состояний превышает некоторое число (скажем 15-30), то состояние считается устойчивым и генерируется код нажатой клавиши. Если же хотя бы один результат опроса отличается, то счетчик сбарсывается и начинается новый отсчет до истечения времени длительности опроса.
E-mail: info@telesys.ru