Stm32
  1. Am335x Gpio Interrupt
  2. Stm32f4 Hal Disable Interrupt Gpio Port
  3. Hal_gpio_exti_callback
Stm32f4

Click the configuration tab and click on the GPIO button 9. Here you can set the interrupt parameters for EXTI13 I set the GPIO mode to detect falling edges (since the user button has a pull-up resistor) Hit Apply and Ok to save the changes. Next, click the NVIC button 11.

I'm sorry, I think there is a mistake here, it should be 2Hz not 0.5Hz, because the LED is blinking every 500ms (1/2Hz=0.5s=500ms)This formula is used for calculating how fast the interrupt is generated.Update Event (Hz) = timerclock / ((TIMPrescaler + 1). (TIMPeriod + 1)) = 2HzFor example, 2Hz means that the interrupt will be called every 500ms.The timer clock is 84MHz, the prescaler is used for slowing the timer clock from 84MHz to 20kHz (84MHz/4200).With 20kHz the period is 0.05ms, then we set the period value(ARR) to 10000, so 0.05.10000 is 500ms.

Am335x Gpio Interrupt

I have added the illustration in the article.

Stm32f4 Hal Disable Interrupt Gpio Port

Gpio

Hal_gpio_exti_callback

We can use 16 external interrupt line (line0 to line15) to detect external event from GPIO pins. Each pin from all GPIO port is connected to each external interrupt line with the same number.

PA0, PB0, PC0 and so on, are multiplexed to line0. So you can only configure one of these pins to connect to line0 interrupt. PA0 and PA8 are multiplexed to different line. So you can configure these pins to use external interrupt at the same time. Because PA0 is connected to line0 and PA8 is connected to line8.