C++

Loading thread data ...
Reply to
Dmitry Lyokhin
27-Sep-03 16:43 Vladimir Vassilevsky wrote to All:

VV> Есть клавиатура, которая состоит из контроллера клавиатуры, который VV> опрашивается по таймеру, который отрабатывает авторепит и прочие VV> параметры, которые устанавливаются в сетапе, который лежит в EEPROM. А почему это таймер отрабатывает авторепит? Или это я запутался в цепочке слов "который" :-) ? Это я в asm или C-программе могу всё затолкать в один обработчик прерываний таймера и "по месту" в нём вписать клавиатуру, динамическую индикацию, etc. Ещё и для экономии тактов частично размазав обработку таймеров и таймаутов между обращениями к spi (в нескольких местах динамическая индикация на 75hc595 сидит на spi).

А тут уж "не таймерово дело" про автоповтор знать.

IMHO авторепит должна отрабатывать клавиатруа и "клавиатара вообще" должна иметь методы отсетапливания этого дела. И должно быть нечто "ТаймеромДёргальное" с виртуальной функцией "Дёрг". Тогда наследовать клавиатуру, опрашиваемую по таймеру, от КлавыВообще и ТаймеромДёргального и зарегистрировать эту новую клавиатуру как (ТаймеромДёргальное*) у таймера в список дёргаемого с нужной частотой. В смысле у таймера может быть несколько списков - для 1,10,100 мс периода. Клавиатуру дёргать с интервалом

10мс и пусть она сама разбирается и с антидребезгом и с автоповтором.

wbr,

Reply to
Oleksandr Redchuk

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.