Go to the documentation of this file.
154 #include "stm32h7xx_hal.h"
165 #ifdef HAL_PWR_MODULE_ENABLED
177 #define AVD_MODE_IT (0x00010000U)
178 #define AVD_MODE_EVT (0x00020000U)
179 #define AVD_RISING_EDGE (0x00000001U)
180 #define AVD_FALLING_EDGE (0x00000002U)
181 #define AVD_RISING_FALLING_EDGE (0x00000003U)
189 #define PWR_FLAG_SETTING_DELAY (1000U)
198 #if defined (EXTI_IMR2_IM57)
199 #define PWR_EXTI_WAKEUP_PINS_MASK (EXTI_IMR2_IM55 | EXTI_IMR2_IM56 |\
200 EXTI_IMR2_IM57 | EXTI_IMR2_IM58 |\
201 EXTI_IMR2_IM59 | EXTI_IMR2_IM60)
203 #define PWR_EXTI_WAKEUP_PINS_MASK (EXTI_IMR2_IM55 | EXTI_IMR2_IM56 |\
204 EXTI_IMR2_IM58 | EXTI_IMR2_IM60)
208 #define PWR_WAKEUP_PINS_PULL_SHIFT_OFFSET (2U)
322 #if defined (PWR_FLAG_SCUEN)
352 if ((
HAL_GetTick () - tickstart) > PWR_FLAG_SETTING_DELAY)
360 if ((SupplySource == PWR_SMPS_1V8_SUPPLIES_EXT_AND_LDO) ||
361 (SupplySource == PWR_SMPS_2V5_SUPPLIES_EXT_AND_LDO) ||
362 (SupplySource == PWR_SMPS_1V8_SUPPLIES_EXT) ||
363 (SupplySource == PWR_SMPS_2V5_SUPPLIES_EXT))
371 if ((
HAL_GetTick () - tickstart) > PWR_FLAG_SETTING_DELAY)
428 #if defined (PWR_SRDCR_VOS)
432 #if defined(SYSCFG_PWRCR_ODEN)
446 if ((
HAL_GetTick () - tickstart) > PWR_FLAG_SETTING_DELAY)
476 if ((
HAL_GetTick () - tickstart) > PWR_FLAG_SETTING_DELAY)
499 if ((
HAL_GetTick() - tickstart) > PWR_FLAG_SETTING_DELAY)
713 #if defined (PWR_CPUCR_RETDS_CD)
740 void HAL_PWREx_EnterSTOP2Mode (uint32_t Regulator, uint8_t STOPEntry)
830 #if defined (DUAL_CORE)
867 #if defined (PWR_CPUCR_PDDS_D2)
868 else if (Domain == PWR_D2_DOMAIN)
870 #if defined (DUAL_CORE)
913 #if defined (DUAL_CORE)
942 #if defined (DUAL_CORE)
995 #if defined (DUAL_CORE)
1010 #if defined (DUAL_CORE)
1019 #if defined (__CC_ARM)
1026 #if defined (PWR_CPUCR_PDDS_D2)
1027 else if (Domain == PWR_D2_DOMAIN)
1032 #if defined (DUAL_CORE)
1050 #if defined (__CC_ARM)
1064 #if defined (DUAL_CORE)
1091 #if defined (DUAL_CORE)
1102 void HAL_PWREx_ClearDomainFlags (uint32_t DomainFlags)
1108 if (DomainFlags == PWR_D1_DOMAIN_FLAGS)
1114 else if (DomainFlags == PWR_D2_DOMAIN_FLAGS)
1144 if (CPU == PWR_CORE_CPU2)
1185 void HAL_PWREx_ReleaseCore (uint32_t CPU)
1191 if (CPU == PWR_CORE_CPU2)
1233 #if defined (PWR_CR1_SRDRAMSO)
1256 void HAL_PWREx_EnableMemoryShutOff (uint32_t MemoryBlock)
1282 void HAL_PWREx_DisableMemoryShutOff (uint32_t MemoryBlock)
1376 return (
PWR->WKUPFR & WakeUpFlag);
1404 if ((
PWR->WKUPFR & WakeUpFlag) != 0U)
1436 #if defined (PWR_WKUPFR_WKUPF3)
1443 HAL_PWREx_WKUP3_Callback ();
1454 #if defined (PWR_WKUPFR_WKUPF5)
1461 HAL_PWREx_WKUP5_Callback ();
1496 #if defined (PWR_WKUPFR_WKUPF3)
1501 __weak
void HAL_PWREx_WKUP3_Callback (
void)
1520 #if defined (PWR_WKUPFR_WKUPF5)
1525 __weak
void HAL_PWREx_WKUP5_Callback (
void)
1639 if ((
HAL_GetTick() - tickstart ) > PWR_FLAG_SETTING_DELAY)
1665 if ((
HAL_GetTick() - tickstart ) > PWR_FLAG_SETTING_DELAY)
1691 if ((
HAL_GetTick() - tickstart ) > PWR_FLAG_SETTING_DELAY)
1717 if ((
HAL_GetTick() - tickstart ) > PWR_FLAG_SETTING_DELAY)
1778 #if defined (PWR_CR1_BOOSTE)
1786 void HAL_PWREx_EnableAnalogBooster (
void)
1799 void HAL_PWREx_DisableAnalogBooster (
void)
1885 uint32_t tempLevel, regValue;
1916 uint32_t VBATLevel, regValue;
1940 #if defined (PWR_CSR1_MMCVDO)
1945 PWREx_MMC_VoltageLevel HAL_PWREx_GetMMCVoltage (
void)
1947 PWREx_MMC_VoltageLevel mmc_voltage;
1950 if ((
PWR->CSR1 & PWR_CSR1_MMCVDO_Msk) == 0U)
1952 mmc_voltage = PWR_MMC_VOLTAGE_BELOW_1V2;
1956 mmc_voltage = PWR_MMC_VOLTAGE_EQUAL_ABOVE_1V2;
1987 #if !defined (DUAL_CORE)
1995 #if !defined (DUAL_CORE)
1997 if ((sConfigAVD->
Mode & AVD_MODE_IT) == AVD_MODE_IT)
2003 if ((sConfigAVD->
Mode & AVD_MODE_EVT) == AVD_MODE_EVT)
2010 if ((sConfigAVD->
Mode & AVD_RISING_EDGE) == AVD_RISING_EDGE)
2016 if ((sConfigAVD->
Mode & AVD_FALLING_EDGE) == AVD_FALLING_EDGE)
2052 #if defined (DUAL_CORE)
2066 #if defined (DUAL_CORE)
2070 if (__HAL_PWR_PVD_EXTID2_GET_FLAG () != 0U)
2076 __HAL_PWR_PVD_EXTID2_CLEAR_FLAG();
2085 #if defined (DUAL_CORE)
2099 #if defined (DUAL_CORE)
2103 if (__HAL_PWR_AVD_EXTID2_GET_FLAG () != 0U)
2109 __HAL_PWR_AVD_EXTID2_CLEAR_FLAG ();
#define __HAL_PWR_AVD_EXTI_GET_FLAG()
Check whether the specified AVD EXTI interrupt flag is set or not.
#define assert_param(expr)
Include module's header file.
#define __HAL_PWR_PVD_EXTI_GET_FLAG()
checks whether the specified PVD Exti interrupt flag is set or not.
#define __HAL_PWR_GET_FLAG(__FLAG__)
Check PWR flag is set or not.
#define IS_PWR_DOMAIN(DOMAIN)
#define __HAL_PWR_AVD_EXTI_CLEAR_FLAG()
Clear the AVD EXTI flag.
void HAL_PWREx_EnableUSBVoltageDetector(void)
HAL_StatusTypeDef
HAL Status structures definition
#define PWR_WKUPFR_WKUPF2
#define PWR_SUPPLY_CONFIG_MASK
void HAL_PWREx_ConfigD3Domain(uint32_t D3State)
void HAL_PWREx_ConfigAVD(PWREx_AVDTypeDef *sConfigAVD)
PWREx AVD configuration structure definition.
#define PWR_WKUPEPR_WKUPP1_Pos
#define PWR_VBAT_ABOVE_HIGH_THRESHOLD
#define IS_PWR_WAKEUP_PIN_PULL(PULL)
#define EXTI_IMR2_IM55_Pos
void HAL_PWREx_WKUP6_Callback(void)
__STATIC_FORCEINLINE void __DSB(void)
Data Synchronization Barrier.
HAL_StatusTypeDef HAL_PWREx_EnableBkUpReg(void)
void HAL_PWREx_WAKEUP_PIN_IRQHandler(void)
#define __HAL_PWR_AVD_EXTI_DISABLE_FALLING_EDGE()
Disable the AVD Extended Interrupt Falling Trigger.
__STATIC_FORCEINLINE void __ISB(void)
Instruction Synchronization Barrier.
PWREx Wakeup pin configuration structure definition.
#define __HAL_PWR_AVD_EXTI_ENABLE_IT()
Enable the AVD EXTI Line 16.
#define PWR_VBAT_BELOW_LOW_THRESHOLD
#define PWR_CPUCR_PDDS_D1
#define __HAL_PWR_AVD_EXTI_DISABLE_IT()
Disable the AVD EXTI Line 16.
#define IS_PWR_BATTERY_RESISTOR_SELECT(RESISTOR)
#define IS_PWR_REGULATOR_VOLTAGE(VOLTAGE)
#define CLEAR_BIT(REG, BIT)
uint32_t HAL_GetTick(void)
Provides a tick value in millisecond.
void HAL_PWREx_EnterSTANDBYMode(uint32_t Domain)
#define IS_PWR_STOP_ENTRY(ENTRY)
#define IS_PWR_SUPPLY(PWR_SOURCE)
#define POSITION_VAL(VAL)
uint32_t HAL_PWREx_GetVBATLevel(void)
#define IS_PWR_STOP_MODE_REGULATOR_VOLTAGE(VOLTAGE)
#define IS_PWR_WAKEUP_PIN_POLARITY(POLARITY)
HAL_StatusTypeDef HAL_PWREx_DisableUSBReg(void)
#define PWR_VBAT_BETWEEN_HIGH_LOW_THRESHOLD
HAL_StatusTypeDef HAL_PWREx_ConfigSupply(uint32_t SupplySource)
void HAL_PWREx_EnterSTOPMode(uint32_t Regulator, uint8_t STOPEntry, uint32_t Domain)
uint32_t HAL_PWREx_GetTemperatureLevel(void)
#define PWR_CPU2CR_PDDS_D2
HAL_StatusTypeDef HAL_PWREx_DisableBkUpReg(void)
#define __HAL_PWR_AVD_EXTI_ENABLE_FALLING_EDGE()
Enable the AVD Extended Interrupt Falling Trigger.
#define PWR_WKUPFR_WKUPF1
void HAL_PWR_PVDCallback(void)
#define PWR_WKUPEPR_WKUPP1
HAL_StatusTypeDef HAL_PWREx_ControlStopModeVoltageScaling(uint32_t VoltageScaling)
#define PWR_TEMP_BETWEEN_HIGH_LOW_THRESHOLD
uint32_t HAL_GetCurrentCPUID(void)
#define PWR_STOPENTRY_WFI
void HAL_PWREx_WKUP4_Callback(void)
#define PWR_WKUPEPR_WKUPPUPD1_Pos
#define __HAL_PWR_AVD_EXTI_ENABLE_EVENT()
Enable event on AVD EXTI Line 16.
void HAL_PWREx_ClearPendingEvent(void)
#define MODIFY_REG(REG, CLEARMASK, SETMASK)
void HAL_PWREx_EnableAVD(void)
#define IS_PWR_AVD_MODE(MODE)
uint32_t HAL_PWREx_GetStopModeVoltageRange(void)
#define SYSCFG_PWRCR_ODEN
#define PWR_WKUPEPR_WKUPPUPD1
#define IS_D3_STATE(STATE)
#define IS_PWR_AVD_LEVEL(LEVEL)
#define PWR_CPU2CR_PDDS_D1
void HAL_PWREx_EnableFlashPowerDown(void)
#define PWR_WKUPFR_WKUPF4
#define READ_BIT(REG, BIT)
#define PWR_CPUCR_PDDS_D2
#define PWR_TEMP_ABOVE_HIGH_THRESHOLD
void HAL_PWREx_DisableUSBVoltageDetector(void)
#define PWR_REGULATOR_VOLTAGE_SCALE1
#define PWR_FLAG_ACTVOSRDY
#define IS_PWR_WAKEUP_PIN(PIN)
#define IS_PWR_WAKEUP_FLAG(FLAG)
#define IS_PWR_REGULATOR(REGULATOR)
uint32_t HAL_PWREx_GetWakeupFlag(uint32_t WakeUpFlag)
HAL_StatusTypeDef HAL_PWREx_EnableUSBReg(void)
void HAL_PWREx_DisableBatteryCharging(void)
void HAL_PWREx_DisableFlashPowerDown(void)
#define PWR_WKUPFR_WKUPF3
#define PWR_WKUPFR_WKUPF5
void HAL_PWREx_EnableMonitoring(void)
#define PWR_CPUCR_PDDS_D3
#define __HAL_PWR_AVD_EXTI_DISABLE_EVENT()
Disable event on AVD EXTI Line 16.
#define PWR_REGULATOR_VOLTAGE_SCALE0
uint32_t HAL_PWREx_GetVoltageRange(void)
#define __HAL_PWR_AVD_EXTI_DISABLE_RISING_EDGE()
Disable the AVD Extended Interrupt Rising Trigger.
#define PWR_TEMP_BELOW_LOW_THRESHOLD
void HAL_PWREx_WKUP2_Callback(void)
#define __HAL_PWR_PVD_EXTI_CLEAR_FLAG()
Clear the PVD Exti flag.
void HAL_PWREx_EnableWakeUpPin(PWREx_WakeupPinTypeDef *sPinParams)
void HAL_PWREx_DisableMonitoring(void)
uint32_t HAL_PWREx_GetSupplyConfig(void)
#define SET_BIT(REG, BIT)
#define PWR_FLAG_USB33RDY
HAL_StatusTypeDef HAL_PWREx_ControlVoltageScaling(uint32_t VoltageScaling)
#define __HAL_PWR_AVD_EXTI_ENABLE_RISING_EDGE()
Enable the AVD Extended Interrupt Rising Trigger.
#define __WFE
Wait For Event.
#define __WFI
Wait For Interrupt.
void HAL_PWREx_DisableAVD(void)
void HAL_PWREx_AVDCallback(void)
#define PWR_CPU2CR_PDDS_D3
#define SCB_SCR_SLEEPDEEP_Msk
HAL_StatusTypeDef HAL_PWREx_ClearWakeupFlag(uint32_t WakeUpFlag)
void HAL_PWREx_EnableBatteryCharging(uint32_t ResistorValue)
void HAL_PWREx_DisableWakeUpPin(uint32_t WakeUpPin)
void HAL_PWREx_WKUP1_Callback(void)
void HAL_PWREx_PVD_AVD_IRQHandler(void)
#define __HAL_PWR_CLEAR_WAKEUPFLAG(__FLAG__)
Clear PWR wake up flags.