cancel
Showing results for 
Search instead for 
Did you mean: 

Why there are two pending registers for interrupt? ,e.g EXTI_PR and ISPR

YShko.1
Associate II

Why there are two pending registers for interrupt? One of them is EXTI_PR and other one is Interrupt Set-pending Registers(ISPR) which is in NVIC controller registers.?

What is the diffrence between them?

Thanks in advance

0693W00000Y7kiOQAR.png0693W00000Y7kiYQAR.png 

11 REPLIES 11
YShko.1
Associate II

Hey @Sarra.S​ 

IRQn_Type is an enum, Here is a picture from stm32f030x8.h :

0693W00000Y92DQQAZ.pngas you can see in the picture I cant choose a specific line, only a vector, e.g EXTI4_15_IRQn which is coresponding to all the lines 4-15. so I dont really understand how can I use this function to a specific line?

thank you for your time!!

To clear one EXTI source you use __HAL_GPIO_EXTI_CLEAR_IT or call HAL_GPIO_EXTI_IRQHandler. No need to clear the NVIC interrupt, it should clear itself as soon as the EXTI drops its interrupt request.