cancel
Showing results for 
Search instead for 
Did you mean: 

Unsolicited interrupts when temperature rises around 60°C

gmaeng
Associate II

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

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
TDK
Super User

Look at the VECTACTIVE bits in the SCB register to see which interrupt actually got triggered and go from there.

If you feel a post has answered your question, please click "Accept as Solution".

View solution in original post

7 REPLIES 7
gbm
Principal

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.

My STM32 stuff on github - compact USB device stack and more: https://github.com/gbm-ii/gbmUSBdevice
TDK
Super User

Look at the VECTACTIVE bits in the SCB register to see which interrupt actually got triggered and go from there.

If you feel a post has answered your question, please click "Accept as Solution".
gmaeng
Associate II

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 ?

Yes, it's in the default handler as explained by @gbm .

If you feel a post has answered your question, please click "Accept as Solution".
gmaeng
Associate II

Hello,

After looking into the VECTACTIVE register, I was able to see what interrupt really triggered the DefaultHandler (EXTI9_5).

I am now able to remove the code so interrupt will be handled properly, but it does not explain why the GPIO state changes from 0 to 1 when temperature rises.

Thanks a lot!

What is the pin connected to? If it's floating, it can change state at any time.

If you feel a post has answered your question, please click "Accept as Solution".
Billy OWEN
ST Employee

Hi @gmaeng 

 

This post has been escalated to the ST Online Support Team for additional assistance.  We'll contact you directly.

 

Regards,

Billy