STM32WLE5JB doesnt exit from stop mode with LPTIM.
I'am using STM32WLE5JB with LOWPOWERMODE_STOP(0,1,2) to deacrease power consumption. Although I configured LPTIM with LSE for 2 sec period to wake up, device doesnt exit from stop mode. I tried LPTIM with LSI the result was same.
Here is My code LPTIM Init:
__HAL_RCC_LPTIM1_CLK_ENABLE();
__HAL_RCC_LPTIM1_CLK_SLEEP_ENABLE();
__HAL_RCC_LPTIM1_CONFIG(source);
LPTIM1->IER = 0;
LPTIM1->IER |= LPTIM_IER_ARRMIE; //Autoreload match Interrupt Enable
LPTIM1->CR |= LPTIM_CR_ENABLE; // Enable LPTIM1
LPTIM1->ARR = autoReload; // set AutoReloadRegister 32768/65536 = 0.5 Hz
while(LPTIM1->ISR & LPTIM_ISR_ARROK != LPTIM_ISR_ARROK);
LPTIM1->ICR |= LPTIM_ICR_ARROKCF; // clear IRQ flags
// Enable timer counting
LPTIM1->CR |= LPTIM_CR_CNTSTRT; // Start LPTIMRCC init
RCC->CR |= (uint32_t)0x00000100;
RCC->CR &= ~RCC_CR_HSION;
tmp = RCC->ICSCR;
tmp &= ~RCC_CR_MSIRANGE;
tmp |= RCC_CR_MSIRANGE_6;
__HAL_RCC_MSI_RANGE_CONFIG(RCC_MSIRANGE_0);
RCC->ICSCR = tmp;
HAL_RCCEx_WakeUpStopCLKConfig(RCC_STOP_WAKEUPCLOCK_MSI);
while((RCC->CR & RCC_CR_MSIRDY)==0);
SET_BIT(RCC->BDCR, RCC_BDCR_LSEON);
while(READ_BIT(RCC->BDCR, RCC_BDCR_LSERDY) == 0U);
SET_BIT(RCC->BDCR, RCC_BDCR_LSESYSEN);
while (READ_BIT(RCC->BDCR, RCC_BDCR_LSESYSRDY) == 0U);
HAL_RCCEx_EnableLSECSS();Stop Mode ENTER:
HAL_PWREx_DisableBatteryCharging();
HAL_PWREx_DisableWPVD();
HAL_PWREx_DisableBORPVD_ULP();
HAL_PWREx_DisablePVM3();
LL_PWR_DisableWakeUpPin(LL_PWR_WAKEUP_PIN2);
LL_PWR_ClearFlag_WU2();
HAL_PWREx_DisableInternalWakeUpLine();
EXTI->PR1 = 0xFFFFFFFF;
EXTI->PR2 = 0xFFFFFFFF;
__HAL_RTC_WAKEUPTIMER_CLEAR_FLAG(RTC, RTC_FLAG_WUTF);
__HAL_RTC_ALARM_CLEAR_FLAG(RTC, RTC_FLAG_ALRAF);
__HAL_RTC_ALARM_CLEAR_FLAG(RTC, RTC_FLAG_ALRBF);
PWR->EXTSCR = 0;
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_SLEEPENTRY_WFI);After device entering STOP mode, next load code begin with such message, choosing NO lets me load new program to the flash
