2025-06-20 4:41 AM
Hi everyone,
I'm stuck on the transition from my low-power mode to power consumption.
I already have a “sleep.c” code that is capable of putting the device to sleep at 2uA power consumption (which is my goal, everything's fine here).
This code allows you to exit the RTC's low-power mode.
I now wanted to introduce another piece of “run.c” code.
“run.c” and “sleep.c” can switch to each other via a soft reset (this logic works fine).
But when I run “run.c” once and switch to “sleep.c”, my current consumption in STANDBY is now ~4mA.
My clocks in RUN: HSI16MHz, LSI32kHz, PLL64MHz, SYS=PLL64MHz
My clocks in SLEEP: HSI16MHz, LSI32kHz, SYS=HSI16MHz
After some research, I noticed that if I align all configurations to HSI16MHz, LSI32kHz, PLL64MHz, SYS=PLL64MHz, I still have a current consumption of ~4mA.
But if I align all configurations to HSI16MHz, LSI32kHz, SYS=HSI16MHz, then I reach my goal of ~2uA.
I would like to use the PLL anyway in RUN and not in SLEEP for project reasons.
It seems that the PLL is always being used by something, but I expected that after a soft reset, most clocks would be reset (maybe not?).
Does anyone know what I'm doing wrong?
I attach my two clocks configurations.