Работал до этого только с прерываниями по уровню (от внутренней периферии). И, как говорится, горя не знал. Теперь вот обстоятельства вынуждают использовать прерывания по фронту (тоже от внутренней периферии). И обнаружил следующее - AIC почему-то не сбрасывает автоматически прерывания по фронту. Обработку произвожу в точном соответствии с даташитом. После выставления периферией AICу запроса на прерывание эти прерывания потом валят беспрерывно и все затыкается.
Спасает только одно - сбрасывние прерывания в ручном режиме прописыванием рег-ра AIC_ICCR. В этом случае нормальная работа восстанавливается. Уже не один раз проштудировал даташит (и errata в том числе: уже жизнью научен) - везде, где касаются этой темы прописано, что-то типа
Цитата
The AIC features an automatic clear of the current interrupt when the AIC_IVR (Interrupt Vector Register) is read.
И еще раз подчеркиваю:
при работе с прерываниями по уровню подобных проблем вообще не возникало.
Поделитесь, пожалуйста опытом по данному вопросу, буду очень признателен.
А то теперь не дает покоя почти гамлетовский вопрос: кто же здесь дурак?