mbed library sources. Supersedes mbed-src. Add PORTG support for STM32L476JG (SensorTile kit)
Fork of mbed-dev by
Diff: targets/hal/TARGET_STM/TARGET_STM32L4/sleep.c
- Revision:
- 148:21d94c44109e
- Parent:
- 144:ef7eb2e8f9f7
--- a/targets/hal/TARGET_STM/TARGET_STM32L4/sleep.c Fri Sep 16 16:24:25 2016 +0100 +++ b/targets/hal/TARGET_STM/TARGET_STM32L4/sleep.c Fri Sep 30 18:07:01 2016 +0100 @@ -28,6 +28,7 @@ ******************************************************************************* */ #include "sleep_api.h" +#include "rtc_api_hal.h" #if DEVICE_SLEEP @@ -47,14 +48,28 @@ // Stop HAL systick HAL_SuspendTick(); - // Request to enter STOP mode with regulator in low power mode - HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); + // Request to enter STOP mode 1 with regulator in low power mode + if (__HAL_RCC_PWR_IS_CLK_ENABLED()) { + HAL_PWREx_EnableLowPowerRunMode(); + HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); + HAL_PWREx_DisableLowPowerRunMode(); + } else { + __HAL_RCC_PWR_CLK_ENABLE(); + HAL_PWREx_EnableLowPowerRunMode(); + HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); + HAL_PWREx_DisableLowPowerRunMode(); + __HAL_RCC_PWR_CLK_DISABLE(); + } // After wake-up from STOP reconfigure the PLL SetSysClock(); // Restart HAL systick HAL_ResumeTick(); + +#if DEVICE_LOWPOWERTIMER + rtc_synchronize(); +#endif } #endif