Инициализируете нужное прерывание по фронту (или спаду, как надо). После очередного разрешения внешнего прерывания анализируете вручную вход INTx. Если он в нужной полярности - запоминаете где-нибудь. Всё это можно делать прямо из прерывания по таймеру - два раза подряд на включение и выключение анализа входов внешних прерываний. GICR по-моему лучше вообще не трогать. Лучше в этом регистре сразу выключить оба прерывания, а их настроить на нужный фронт. А потом только анализировать вручную вход INTx и его "захваченный" флаг прерывания. Сам так не делал, но думаю это сработает. Загрузка процессора - минимальная.
Забыл ещё кое-что. Перед "ручным" анализом входа INTx нужно сбрасывать флаг INTFx. А через 100 мс его только считывать и можно не сбрасывать.
--------------------
Заблуждаться - Ваше законное право :-)
|