cancel
Showing results for 
Search instead for 
Did you mean: 

GPIO Interrupt

Sri_Nishanth
Associate II

Is it possible to disable a specific GPIO interrupt in my code and re-enable it after some time. HAL_NVIC_DisableIRQ(EXTI4_15_IRQn) this function will help but this will disable all the GPIO pins connected to that particular EXTI line. Any other possible ways I can implement?

1 ACCEPTED SOLUTION

Accepted Solutions
Pavel A.
Evangelist III
7 REPLIES 7

Which STM32?

In most STM32 the individual EXTI interrupts are enabled/disabled in the EXTI_IMR register, see EXTI chapter in Reference Manual (RM).

JW

Hi @waclawek.jan

I am using STM32G474RCT6 controller.

Should I need to make changes in the EXTI_IMR register. Or are there any HAL functions I can use to Implement this. Currently I could be able to disable EXTI15_10_IRQn which disables all the GPIOs connected to this line.

Sri_Nishanth_0-1701421306953.png

 

 

I don't use Cube/HAL.

I've seen in the past users to perform the same operation as when initializing the pin, just without the interrupt being set.

JW

FBL
ST Employee

Hello @Sri_Nishanth 

 

FBelaid_0-1701425704816.png

According to the reference manual, EXTI line dedicated to 10->15 are regrouped in one vector in NVIC controller. So, using CMSIS, this should not be possible. Maybe, we can implement this operation in HAL driver using directly EXTI_IMR. I will forward the request to dedicated team. 

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hi @FBL 

Okay sure.

Thanks for the help!!

Pavel A.
Evangelist III

You can use LL_EXTI_EnableIT_0_31()  and  LL_EXTI_DisableIT_0_31() 

 

Thanks!!

This worked😀🤝