The EXTI STM32H7R7I8t6 is not working.
- August 16, 2026
- 1 reply
- 17 views
Hello everyone.
My fight with STM32H7R7 continues.
I'm trying to get the simplest example of triggering the EXTI interrupt on an STM32H7R7I8T6. I've run this thousands of times on other H7 series MCUs and never had any problems. I have a button and an LED connected to the MCU as shown in the diagram.

Pin PC11 configured as below:
/*Configure GPIO pin : PC11 */
GPIO_InitStruct.Pin = GPIO_PIN_11;
GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
/* EXTI interrupt init*/
HAL_NVIC_SetPriority(EXTI11_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(EXTI11_IRQn);
I added to the Callback code as always:
/* USER CODE BEGIN 4 */
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
if(GPIO_Pin == GPIO_PIN_11)
{
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_12);
}
}
/* USER CODE END 4 */
Optionally, I also added lines in the Callback itself:
/* USER CODE BEGIN 4 */
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
if(GPIO_Pin == GPIO_PIN_11)
{
HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_12);
__HAL_GPIO_EXTI_CLEAR_IT(GPIO_PIN_11);
}
}
/* USER CODE END 4 */While debugging, I can see that the registers respond correctly to pressing and releasing the button:

When the button is pressed.

When the button is released.

I tried reconnecting the key to different pins. Same result. The main loop definitely works. Interrupts are enabled... I tried with different priorities. The EXTI handler isn't called. I'm using the latest STM32CubeIde and STM32CubeMX. The project is attached.
