ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
7 июля
224735 Топик полностью
fk0, легенда (02.12.2010 11:37, просмотров: 48) ответил Vladimir Ljaschko на Стыдно спрашивать, но не могу разобраться, как организовать обработку клавиатуры. Точнее, что положить в сканирование, что в "приложение".
Условно говоря, "на прерываниях" (а может и не на, но с периодичностью раз в ~20мс) выполняется сканирование матрицы и запись нажатых клавиш в битовый массив. Если матрица -- больше 2-х клавиш нажимать нельзя типично. При этом отрабатываются все антидребезги, автоповторы, задержки и т.п. В основном цикле проверяется битовый массив нажато-не-нажато. Поскольку всё равно больше N клавиш нажимать нельзя -- вместо массива можно иметь список содержащий от нуля до 2-х кодов клавиш (до N кодов). В списке содержатся нажатые клавиши, остальные считаются не нажатые. Никаких "кодов нажатия" и "кодов отжатия" нет -- только текущее состояние (чтоб не было как на ПЦ с буфером). После каждого вызова "прерывания" список обновляется (удаляются отжатые, добавляются нажатые). Реалтайм (~20мс + задержка нажатия/отжатия... ну 100мс).
[ZX]