Ребят, а подскажите, как лучше сделать обработку действия кнопки? Я взял за основу алгоритм от MrYuran ,
http://electronix.ru/forum/index.php?showt...st&p=571913 . У меня пока что три кнопки (учусь на них), без матрицы.
Я хочу, чтобы у меня была процедура опроса кнопок (вызывается, скажем, каждые 10мс). Она отвечает за выставление флагов "Нажато", "Долго нажато" и выдаёт биты того, что нажато.
Но меня смущает, что это чудо занимает уже под 100 байт кода, и 5 регистров. Всего для 3х кнопок.
Направьте на мысль, как бы обойти такую ситуацию в интерфейсе пользователя: скажем, юзер нажал кнопку, уставка увеличилась. А он кнопку отпускает и держит пальцем (естессно, что мы обработали нажатие один раз). Пока что я вручную скидываю бит нажатой кнопки после того, как обработал её нажатие. А при определении "Долго нажата" снова ставлю бит нажатой кнопки и флаг LOCKED.
И ещё вопрос - как лучше оформлять данные, возвращаемые процедурой сканирования клавиатуры? Как умные делают?
В идеале я хочу получать и обрабатывать состояния: Нажата, Долго нажата, Отпущена. Автоповтор пока не нужен.
У меня пока что флаги PRESSED и LOCKED стоят битами (на все кнопки), и ещё есть биты, которые показывают нажатие каждой кнопки.
Может, завести для каждой клавиши свой набор флагов?

З.Ы. Пишу на АСМе, на Си мне вообще ни черта не понятно
Сообщение отредактировал C.S. - May 7 2009, 09:53