35 #ifdef HAL_PWR_MODULE_ENABLED
46 #define PVD_MODE_IT 0x00010000U
47 #define PVD_MODE_EVT 0x00020000U
48 #define PVD_RISING_EDGE 0x00000001U
49 #define PVD_FALLING_EDGE 0x00000002U
92 __HAL_RCC_PWR_FORCE_RESET();
93 __HAL_RCC_PWR_RELEASE_RESET();
110 __IO uint32_t dummyread;
111 *(__IO uint32_t *) CR_DBP_BB = (uint32_t)ENABLE;
130 __IO uint32_t dummyread;
131 *(__IO uint32_t *) CR_DBP_BB = (uint32_t)DISABLE;
278 assert_param(IS_PWR_PVD_LEVEL(sConfigPVD->PVDLevel));
279 assert_param(IS_PWR_PVD_MODE(sConfigPVD->Mode));
282 MODIFY_REG(PWR->CR, PWR_CR_PLS, sConfigPVD->PVDLevel);
285 __HAL_PWR_PVD_EXTI_DISABLE_EVENT();
286 __HAL_PWR_PVD_EXTI_DISABLE_IT();
287 __HAL_PWR_PVD_EXTI_DISABLE_RISING_EDGE();
288 __HAL_PWR_PVD_EXTI_DISABLE_FALLING_EDGE();
291 if((sConfigPVD->Mode & PVD_MODE_IT) == PVD_MODE_IT)
293 __HAL_PWR_PVD_EXTI_ENABLE_IT();
297 if((sConfigPVD->Mode & PVD_MODE_EVT) == PVD_MODE_EVT)
299 __HAL_PWR_PVD_EXTI_ENABLE_EVENT();
303 if((sConfigPVD->Mode & PVD_RISING_EDGE) == PVD_RISING_EDGE)
305 __HAL_PWR_PVD_EXTI_ENABLE_RISING_EDGE();
308 if((sConfigPVD->Mode & PVD_FALLING_EDGE) == PVD_FALLING_EDGE)
310 __HAL_PWR_PVD_EXTI_ENABLE_FALLING_EDGE();
320 *(__IO uint32_t *) CR_PVDE_BB = (uint32_t)ENABLE;
329 *(__IO uint32_t *) CR_PVDE_BB = (uint32_t)DISABLE;
344 assert_param(IS_PWR_WAKEUP_PIN(WakeUpPinx));
347 SET_BIT(PWR->CSR, WakeUpPinx);
362 assert_param(IS_PWR_WAKEUP_PIN(WakeUpPinx));
365 CLEAR_BIT(PWR->CSR, WakeUpPinx);
397 assert_param(IS_PWR_REGULATOR(Regulator));
398 assert_param(IS_PWR_SLEEP_ENTRY(SLEEPEntry));
401 CLEAR_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SLEEPDEEP_Msk));
404 if(SLEEPEntry == PWR_SLEEPENTRY_WFI)
411 if(SLEEPEntry != PWR_SLEEPENTRY_WFE_NO_EVT_CLEAR)
448 assert_param(IS_PWR_REGULATOR(Regulator));
449 assert_param(IS_PWR_STOP_ENTRY(STOPEntry));
452 MODIFY_REG(PWR->CR, (PWR_CR_PDDS | PWR_CR_LPDS), Regulator);
455 SET_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SLEEPDEEP_Msk));
458 if(STOPEntry == PWR_STOPENTRY_WFI)
465 if(STOPEntry != PWR_STOPENTRY_WFE_NO_EVT_CLEAR)
475 CLEAR_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SLEEPDEEP_Msk));
491 SET_BIT(PWR->CR, PWR_CR_PDDS);
494 SET_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SLEEPDEEP_Msk));
497 #if defined ( __CC_ARM)
512 if(__HAL_PWR_PVD_EXTI_GET_FLAG() != RESET)
518 __HAL_PWR_PVD_EXTI_CLEAR_FLAG();
544 SET_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SLEEPONEXIT_Msk));
556 CLEAR_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SLEEPONEXIT_Msk));
568 SET_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SEVONPEND_Msk));
580 CLEAR_BIT(SCB->SCR, ((uint32_t)SCB_SCR_SEVONPEND_Msk));
void HAL_PWR_DisableBkUpAccess(void)
Disables access to the backup domain (RTC registers, RTC backup data registers and backup SRAM).
void HAL_PWR_EnableBkUpAccess(void)
Enables access to the backup domain (RTC registers, RTC backup data registers and backup SRAM).
void HAL_PWR_DeInit(void)
Deinitializes the HAL PWR peripheral registers to their default reset values.
void HAL_PWR_DisableSleepOnExit(void)
Disables Sleep-On-Exit feature when returning from Handler mode to Thread mode.
void HAL_PWR_DisablePVD(void)
Disables the Power Voltage Detector(PVD).
void HAL_PWR_EnterSTANDBYMode(void)
Enters Standby mode.
void HAL_PWR_EnterSLEEPMode(uint32_t Regulator, uint8_t SLEEPEntry)
Enters Sleep mode.
void HAL_PWR_EnableSEVOnPend(void)
Enables CORTEX M4 SEVONPEND bit.
void HAL_PWR_EnablePVD(void)
Enables the Power Voltage Detector(PVD).
void HAL_PWR_PVDCallback(void)
PWR PVD interrupt callback.
void HAL_PWR_DisableSEVOnPend(void)
Disables CORTEX M4 SEVONPEND bit.
void HAL_PWR_EnableSleepOnExit(void)
Indicates Sleep-On-Exit when returning from Handler mode to Thread mode.
void HAL_PWR_ConfigPVD(PWR_PVDTypeDef *sConfigPVD)
Configures the voltage threshold detected by the Power Voltage Detector(PVD).
void HAL_PWR_EnableWakeUpPin(uint32_t WakeUpPinx)
Enables the Wake-up PINx functionality.
void HAL_PWR_DisableWakeUpPin(uint32_t WakeUpPinx)
Disables the Wake-up PINx functionality.
void HAL_PWR_EnterSTOPMode(uint32_t Regulator, uint8_t STOPEntry)
Enters Stop mode.
void HAL_PWR_PVD_IRQHandler(void)
This function handles the PWR PVD interrupt request.
This file contains all the functions prototypes for the HAL module driver.