Вроде все настроил, платка F4Discovery, а работать по нажатию на кнопку не хочет.
Может кто подскажет что не так ему?
Код
void EXTI0_IRQHandler(void)
{
on (LED_Blue);
EXTI->PR |= EXTI_PR_PR0;//сбросили бит прерывания
}
Код
void main()
{
InitPeriph(); // тут лампочка описана и дефайн кнопки
// настройка ноги на прерывание PA0
GPIOA->MODER &= ~GPIO_MODER_MODER0; //input
GPIOA->OTYPER &= ~GPIO_OTYPER_OT_0; //Output push-pull
GPIOA->OSPEEDR |=GPIO_OSPEEDER_OSPEEDR0; //40 MHz
GPIOA->PUPDR &=~GPIO_PUPDR_PUPDR0; //No pull-up, pull-down
// настройка внешнего прерывания на PA0
RCC->APB2ENR |= RCC_APB2ENR_SYSCFGEN;
SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI0_PA;
EXTI->IMR |= EXTI_IMR_MR0;
EXTI->RTSR |= EXTI_FTSR_TR0;
NVIC_EnableIRQ(EXTI0_IRQn);
NVIC_SetPriority(EXTI0_IRQn, 1);
while(1)
{
}
}