Не работают прерывания от GPIO в STM32F103RB. Под отладкой вижу что регистр IDR меняется, в EXTI PR устанавливается флаг.
В обработчик программа не попадает.
Наверно, я что-то забыл включить. Подскажите пожалуйста, что.
Заранее спасибо !
CODE
//тактирование
RCC->APB2ENR |=RCC_APB2ENR_AFIOEN;
RCC->APB2ENR |= RCC_APB2ENR_IOPCEN;
//вход настроен как вход с подтяжкой
GPIOC->CRL &= ~GPIO_CRL_MODE0;
GPIOC->CRL &= ~GPIO_CRL_CNF0_0;
GPIOC->CRL &= ~GPIO_CRL_CNF1_0;
GPIOC->CRL &= ~GPIO_CRL_CNF2_0;
//настройка прерывания
AFIO->EXTICR[0]|=AFIO_EXTICR1_EXTI0_PC;
EXTI->IMR |= (1<<0);
EXTI->FTSR |= (1<<0);
EXTI->RTSR |= (1<<0);
NVIC_SetPriority(EXTI0_IRQn , 10);
NVIC_EnableIRQ(EXTI0_IRQn );
__enable_irq();
//функция обработчик
void EXTI0_IRQHandler(void)
{
while(1){}
}
Сообщение отредактировал IgorKossak - Apr 2 2017, 18:46
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!