2025-07-25 4:12 AM - last edited on 2025-07-25 4:47 AM by Andrew Neil
Hello,
I am using a STM32L476RCT which should work up to 85°C.
I am receiving unsolicited interrupts when I put my board in an environment at 60°C.
I only use usart1 and a few GPIO interrupts, which are working fine. But when the temperature rises, the system gets stuck.
Using the debugger, I was able to see that interrupts are occurring and sending the system to default handler. Those interrupts are WWDG_IRQHandler, and UART/USARTX_IRQHandler. Looking at the registers, those interrupts should be disabled. We do not use WWDG.
A quick fix is to define a custom handler for the interruptions that I don't want, but it does not explain why those interruptions are occurring.
Does anyone has any idea what could go wrong ?
Thanks
2025-07-25 4:39 AM
If WWDG interrupt is not configured, then all unused/non-handled exceptions will land in the default handler; the debugger shows its name as WWDG_IrqHandler.
Looks like there is some exception triggered - you may use the debugger to check the interrupt identifier while stuck in the default handler.
USART interrupt is a different story - check your code for this interrupt enable & configuration.
2025-07-25 7:06 AM
Look at the VECTACTIVE bits in the SCB register to see which interrupt actually got triggered and go from there.
2025-07-25 8:10 AM - edited 2025-07-25 8:12 AM
I will try that and see if something comes up, thank you.
Just to clarify : WWDG_IRQ happens when my firmware is unchanged. If I define WWDG_IRQ (with just a return), then I get UART5_IRQ. When I disable it, I get USART2 and so on. Does the debugger shows this because it is the first undefined handler it finds after the exception ?
2025-07-25 8:37 AM
Yes, it's in the default handler as explained by @gbm .