struggleendlessly
@struggleendlessly
.net Senior developer

Узнать какой пин вызвал внешнее прерывание на STM32F4?

Мне нужно считывать очень много прерываний (больше 10 для начала), и хотелось бы не занимать все пины X0-X10.
Мне интересно можно ли, используя стандартный подход:

void EXTI0_IRQHandler(void)
{
    //Check if EXTI_Line0 is asserted
    if(EXTI_GetITStatus(EXTI_Line0) != RESET)
    {
    LEDToggle(LEDG);
    }
    //we need to clear line pending bit manually
    EXTI_ClearITPendingBit(EXTI_Line0);
}


узнать и проверить не только линию прерывания, но и название пина, допустим PD0 или PB0 вызвал прерывание?
  • Вопрос задан
  • 229 просмотров
Решения вопроса 1
struggleendlessly
@struggleendlessly Автор вопроса
.net Senior developer
из того, что нашел, но еще не попробовал.
Нельзя назначить на одну линию сразу несколько пинов, например PD0 или PB0 , которые будут инициировать прерывание. Только один.
Если так, то необходимость проверки отпадает.

Если же можно - подскажите.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы