2025-01-16 06:38 AM
Hello,
I am using the microcontroller STM32WL55Jc1 with the Nucleo WL55JC1 modules and I want to go into stop mode and consume as little as possible while ensuring wakeup via reception with LoRa signals. I have tried various configurations, but the measured current is always the same whether in LPRUN or LPSLEEP (both in debug mode and not). Both currents are very high compared to the datasheet. Where could the problem be? Below I write the part of the code used for LPRUN and LPSLEEP.
LPRUN:
Radio.Rx(0); /*Continue receiving*/
LL_PWR_SetRadioBusyTrigger(LL_PWR_RADIO_BUSY_TRIGGER_WU_IT);
LL_PWR_SetRadioIRQTrigger(LL_PWR_RADIO_IRQ_TRIGGER_WU_IT);
/* Reduce the System clock */
SystemClock_Decrease();
/* Set regulator voltage to scale 2 */
HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE2);
APP_LOG(TS_ON, VLEVEL_L, "RXDone:SENS_COMM_LOWPOWER_ALL Modalità LOW Power RUN Attivata!!\r\n");
/* Enter LP RUN Mode */
HAL_PWREx_EnableLowPowerRunMode();
LPSLEEP:
Radio.Rx(0); /*Continue receiving*/ // qui lo posso fare perchè non trasmetto nulla!
SENS.LowPowerRun = 1;
/* Reduce the System clock to below 2 MHz */
SystemClock_Decrease();
/* Suspend Tick increment to prevent wakeup by Systick interrupt. */
/* Otherwise the Systick interrupt will wake up the device within 1ms */
/* (HAL time base). */
HAL_SuspendTick();
/* Enter Sleep Mode, wake up is done once User push-button (B1) is pressed */
//HAL_PWR_EnterSLEEPMode(PWR_LOWPOWERREGULATOR_ON, PWR_SLEEPENTRY_WFI);
HAL_PWREx_EnterSTOP2Mode(PWR_STOPENTRY_WFI);