Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AT91SAM7 ноги IRQn
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
vet
Из даташита не вполне ясно, для чего введена возможность назначить некоторым ногам режим IRQn (т.е. прерывание через модуль AIC), если любая из них может вызвать прерывание через модуль PIOx, также являющийся частью системного контроллера. Хотелось бы ликвидировать пробел в знаниях...
aaarrr
У модуля PIO одна линия прерывания и один вектор на все пины, у ног с функцией IRQ вектора свои.
vet
В этом случае можно назначить нескольким внешним прерываниям разный приоритет. Да, вполне логично.
InsolentS
Не столько приоритет, сколько время реакции на событие.
Пока от обычного PIO пина прерывание обработается, можно успеть покурить.
vet
Цитата(InsolentS @ Apr 11 2008, 02:44) *
Не столько приоритет, сколько время реакции на событие.
Пока от обычного PIO пина прерывание обработается, можно успеть покурить.

По даташиту, на установку флага PIO_ISR требуется 1-2 такта после смены состояния входа, одновременно активизируется сигнал контроллеру прерываний. Задержка между фронтом на ноге IRQn и установкой сигнала IRQn на AIC не оговаривается; можно предположить тот же 1 такт. Выходит, время срабатывания обоих типов прерываний одинаково, или я чего-то не учитываю?
Сергей Борщ
Цитата(vet @ Apr 11 2008, 07:33) *
Выходит, время срабатывания обоих типов прерываний одинаково, или я чего-то не учитываю?
Да. Но если у вас несколько ног PIO дают прерывания, вам еще надо потратить время на анализ флагов и ветвление, чтобы оказаться в обработчике нужной ноги. А по ноге IRQ вы аппаратно попадаете в нужный вектор.
vmp
Если я ничего не путаю, то в SAM7 прерывание по PIO происходит по обеим фронтам. А по IRQ - можно сделать уровнем или одним фронтом.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.