IRQ handler not being called anymore after exit from low power mode (stop2) on the STM32WB55 Nucleo board
Could anyone please help me with this problem? Thanks in advance.
I am using the low power manager (lpm) interface generated by MX for the STM32WB55 Nucleo board. I am using HSE as system clock source, so I did not make changes to the two functions PWR_EnterStopMode and PWR_ExitStopMode, as suggested by several posts.
I found that when I did not turn on the low power manager, everything works fine. But when I turned on the lpm, the interrupts don't work anymore. It feels like I missed something in the function for exiting stop mode. But I tried many different things: turned on PLL, re-init DMA, SAI, I2C, but with no differences. I have struggled for almost a week without any progress.
Could anyone please give me some pointers? I uploaded the three related functions (with comments removed).
void DMA2_Channel3_IRQHandler(void)
{
HAL_DMA_IRQHandler(&hdma_sai1_a);
}
void PWR_EnterStopMode( void )
{
HAL_SuspendTick();
EnterLowPower();
LL_PWR_SetPowerMode( LL_PWR_MODE_STOP2 );
LL_LPM_EnableDeepSleep( );
#if defined ( __CC_ARM)
__force_stores( );
#endif
__WFI();
return;
}
void PWR_ExitStopMode( void )
{
ExitLowPower();
HAL_ResumeTick();
return;
}