I am playing with stm32f411 and external interrupts. I have trouble with interrupt calling in the moment i need. Could you please take a look at my issue?
Id like to call the interrupt by user button pc13. The pin pc13 is pulled up. When the button is pressed, the pin pc13 is connected to the ground (falling edge). But whatever i set on interrupt setting (falling edge/rising edge), the interrupt procedure is called only leaving the button ("unpressing" it) (rising edge).
here i put the setting of the interrupt that i use.
RCC->APB2ENR |= RCC_APB2ENR_SYSCFGEN; // syscf clk enable
RCC->APB2RSTR |= RCC_APB2RSTR_SYSCFGRST; // syscf reset
RCC->APB2RSTR &= ~RCC_APB2RSTR_SYSCFGRST;
SYSCFG->EXTICR = SYSCFG_EXTICR4_EXTI13_PC; // pin set as a trigger of ext interrupt
EXTI->IMR |= EXTI_IMR_MR13; // interrupt masking
EXTI->RTSR |= EXTI_RTSR_TR13; // interrupt trigger on rising edge
EXTI->RTSR |= EXTI_FTSR_TR13; // interrupt trigger on fallingedge
NVIC->IP[EXTI15_10_IRQn] = 0x4; // priority setting
NVIC_EnableIRQ(EXTI15_10_IRQn); // interrupt enable
Thx for any idea!