PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : STM32L1 low power Modus funktioniert nicht.



Metrox
20.07.2021, 16:03
Hallo,

ich hab das Problem das der Microcontroller sich nicht auf den low power
Regulator wechseln will.

Ich hab mit CubeMX das Grundgerüst erstellt, CPU läuft auf über den MSI
mit 65,536 Khz.

Ich hab dem grundgerüst nichts weiter zugefügt ausser die verschiedenen
versuche in den low power run modus zu schalten.

Weder das hier bringt was:


HAL_PWREx_EnableLowPowerRunMode();

Noch das hier:



void enter_LPRun( void ){

/* 1. Each digital IP clock must be enabled or disabled by using the

RCC_APBxENR and RCC_AHBENR registers */

RCC->APB1ENR |= RCC_APB1ENR_PWREN;

/* 2. The frequency of the system clock must be decreased to not exceed the

frequency of f_MSI range1. */

/* 3. The regulator is forced in low-power mode by software

(LPRUN and LPSDSR bits set ) */

PWR->CR &= ~PWR_CR_LPRUN; // Be sure LPRUN is cleared!

PWR->CR |= PWR_CR_LPSDSR; // must be set before LPRUN

PWR->CR |= PWR_CR_LPRUN; // enter low power run mode

}



Der Stromverbrauch liegt bei 168µA und ändert sich nicht.
(gemessen immer mit abgestöpseltem ST-Link)
Laut Datenblatt sollen ja bis zu 11 μA im Low-power run mode möglich
sein.

Der STANDBY Mode dagegen funktioniert wunderbar, der Stromverbrauch der
gesamten Schaltung liegt dann bei um die 2µA.

Kann mir einer sagen was ich da falsch mache oder falsch denke?