164#ifdef HAL_PWR_MODULE_ENABLED
176#define AVD_MODE_IT (0x00010000U)
177#define AVD_MODE_EVT (0x00020000U)
178#define AVD_RISING_EDGE (0x00000001U)
179#define AVD_FALLING_EDGE (0x00000002U)
180#define AVD_RISING_FALLING_EDGE (0x00000003U)
188#define PWR_FLAG_SETTING_DELAY (1000U)
197#if defined (EXTI_IMR2_IM57)
198#define PWR_EXTI_WAKEUP_PINS_MASK (EXTI_IMR2_IM55 | EXTI_IMR2_IM56 |\
199 EXTI_IMR2_IM57 | EXTI_IMR2_IM58 |\
200 EXTI_IMR2_IM59 | EXTI_IMR2_IM60)
202#define PWR_EXTI_WAKEUP_PINS_MASK (EXTI_IMR2_IM55 | EXTI_IMR2_IM56 |\
203 EXTI_IMR2_IM58 | EXTI_IMR2_IM60)
207#define PWR_WAKEUP_PINS_PULL_SHIFT_OFFSET (2U)
325#if defined (PWR_FLAG_SCUEN)
355 if ((
HAL_GetTick () - tickstart) > PWR_FLAG_SETTING_DELAY)
363 if ((SupplySource == PWR_SMPS_1V8_SUPPLIES_EXT_AND_LDO) ||
364 (SupplySource == PWR_SMPS_2V5_SUPPLIES_EXT_AND_LDO) ||
365 (SupplySource == PWR_SMPS_1V8_SUPPLIES_EXT) ||
366 (SupplySource == PWR_SMPS_2V5_SUPPLIES_EXT))
374 if ((
HAL_GetTick () - tickstart) > PWR_FLAG_SETTING_DELAY)
431#if defined (PWR_SRDCR_VOS)
435#if defined(SYSCFG_PWRCR_ODEN)
449 if ((
HAL_GetTick () - tickstart) > PWR_FLAG_SETTING_DELAY)
468 if ((
SYSCFG->PWRCR & SYSCFG_PWRCR_ODEN) != 0U)
479 if ((
HAL_GetTick () - tickstart) > PWR_FLAG_SETTING_DELAY)
502 if ((
HAL_GetTick() - tickstart) > PWR_FLAG_SETTING_DELAY)
716#if defined (PWR_CPUCR_RETDS_CD)
743void HAL_PWREx_EnterSTOP2Mode (uint32_t Regulator, uint8_t STOPEntry)
833#if defined (DUAL_CORE)
870#if defined (PWR_CPUCR_PDDS_D2)
871 else if (Domain == PWR_D2_DOMAIN)
873#if defined (DUAL_CORE)
916#if defined (DUAL_CORE)
945#if defined (DUAL_CORE)
998#if defined (DUAL_CORE)
1013#if defined (DUAL_CORE)
1022#if defined (__CC_ARM)
1029#if defined (PWR_CPUCR_PDDS_D2)
1030 else if (Domain == PWR_D2_DOMAIN)
1035#if defined (DUAL_CORE)
1053#if defined (__CC_ARM)
1067#if defined (DUAL_CORE)
1094#if defined (DUAL_CORE)
1105void HAL_PWREx_ClearDomainFlags (uint32_t DomainFlags)
1111 if (DomainFlags == PWR_D1_DOMAIN_FLAGS)
1117 else if (DomainFlags == PWR_D2_DOMAIN_FLAGS)
1147 if (CPU == PWR_CORE_CPU2)
1150 if ((
PWR->CPU2CR & PWR_CPU2CR_HOLD1) != PWR_CPU2CR_HOLD1)
1163 if ((
PWR->CPUCR & PWR_CPUCR_HOLD2) != PWR_CPUCR_HOLD2)
1188void HAL_PWREx_ReleaseCore (uint32_t CPU)
1194 if (CPU == PWR_CORE_CPU2)
1236#if defined (PWR_CR1_SRDRAMSO)
1259void HAL_PWREx_EnableMemoryShutOff (uint32_t MemoryBlock)
1285void HAL_PWREx_DisableMemoryShutOff (uint32_t MemoryBlock)
1379 return (
PWR->WKUPFR & WakeUpFlag);
1407 if ((
PWR->WKUPFR & WakeUpFlag) != 0U)
1439#if defined (PWR_WKUPFR_WKUPF3)
1440 else if (
READ_BIT (
PWR->WKUPFR, PWR_WKUPFR_WKUPF3) != 0U)
1446 HAL_PWREx_WKUP3_Callback ();
1457#if defined (PWR_WKUPFR_WKUPF5)
1458 else if (
READ_BIT (
PWR->WKUPFR, PWR_WKUPFR_WKUPF5) != 0U)
1464 HAL_PWREx_WKUP5_Callback ();
1499#if defined (PWR_WKUPFR_WKUPF3)
1504__weak
void HAL_PWREx_WKUP3_Callback (
void)
1523#if defined (PWR_WKUPFR_WKUPF5)
1528__weak
void HAL_PWREx_WKUP5_Callback (
void)
1642 if ((
HAL_GetTick() - tickstart ) > PWR_FLAG_SETTING_DELAY)
1668 if ((
HAL_GetTick() - tickstart ) > PWR_FLAG_SETTING_DELAY)
1694 if ((
HAL_GetTick() - tickstart ) > PWR_FLAG_SETTING_DELAY)
1720 if ((
HAL_GetTick() - tickstart ) > PWR_FLAG_SETTING_DELAY)
1781#if defined (PWR_CR1_BOOSTE)
1789void HAL_PWREx_EnableAnalogBooster (
void)
1802void HAL_PWREx_DisableAnalogBooster (
void)
1888 uint32_t tempLevel, regValue;
1919 uint32_t VBATLevel, regValue;
1943#if defined (PWR_CSR1_MMCVDO)
1948PWREx_MMC_VoltageLevel HAL_PWREx_GetMMCVoltage (
void)
1950 PWREx_MMC_VoltageLevel mmc_voltage;
1953 if ((
PWR->CSR1 & PWR_CSR1_MMCVDO_Msk) == 0U)
1955 mmc_voltage = PWR_MMC_VOLTAGE_BELOW_1V2;
1959 mmc_voltage = PWR_MMC_VOLTAGE_EQUAL_ABOVE_1V2;
1990#if !defined (DUAL_CORE)
1998#if !defined (DUAL_CORE)
2000 if ((sConfigAVD->
Mode & AVD_MODE_IT) == AVD_MODE_IT)
2006 if ((sConfigAVD->
Mode & AVD_MODE_EVT) == AVD_MODE_EVT)
2013 if ((sConfigAVD->
Mode & AVD_RISING_EDGE) == AVD_RISING_EDGE)
2019 if ((sConfigAVD->
Mode & AVD_FALLING_EDGE) == AVD_FALLING_EDGE)
2055#if defined (DUAL_CORE)
2072#if defined (DUAL_CORE)
2076 if (__HAL_PWR_PVD_EXTID2_GET_FLAG () != 0U)
2084 __HAL_PWR_PVD_EXTID2_CLEAR_FLAG ();
2094#if defined (DUAL_CORE)
2111#if defined (DUAL_CORE)
2115 if (__HAL_PWR_AVD_EXTID2_GET_FLAG () != 0U)
2123 __HAL_PWR_AVD_EXTID2_CLEAR_FLAG ();
#define SCB_SCR_SLEEPDEEP_Msk
SCB SCR: SLEEPDEEP Mask.
#define SCB
SCB configuration struct.
#define __DSB()
Data Synchronization Barrier.
#define __WFE
Wait For Event.
#define __ISB()
Instruction Synchronization Barrier.
#define __WFI
Wait For Interrupt.
uint32_t HAL_GetCurrentCPUID(void)
#define CLEAR_BIT(REG, BIT)
#define SET_BIT(REG, BIT)
#define POSITION_VAL(VAL)
#define MODIFY_REG(REG, CLEARMASK, SETMASK)
#define READ_BIT(REG, BIT)
uint32_t HAL_GetTick(void)
Provides a tick value in millisecond.
HAL_StatusTypeDef HAL_PWREx_ControlVoltageScaling(uint32_t VoltageScaling)
HAL_StatusTypeDef HAL_PWREx_ControlStopModeVoltageScaling(uint32_t VoltageScaling)
uint32_t HAL_PWREx_GetVoltageRange(void)
uint32_t HAL_PWREx_GetStopModeVoltageRange(void)
HAL_StatusTypeDef HAL_PWREx_ConfigSupply(uint32_t SupplySource)
uint32_t HAL_PWREx_GetSupplyConfig(void)
void HAL_PWREx_DisableFlashPowerDown(void)
uint32_t HAL_PWREx_GetWakeupFlag(uint32_t WakeUpFlag)
void HAL_PWREx_ConfigD3Domain(uint32_t D3State)
void HAL_PWREx_WAKEUP_PIN_IRQHandler(void)
void HAL_PWREx_EnterSTANDBYMode(uint32_t Domain)
void HAL_PWREx_EnableFlashPowerDown(void)
void HAL_PWREx_EnterSTOPMode(uint32_t Regulator, uint8_t STOPEntry, uint32_t Domain)
HAL_StatusTypeDef HAL_PWREx_ClearWakeupFlag(uint32_t WakeUpFlag)
void HAL_PWREx_WKUP4_Callback(void)
void HAL_PWREx_WKUP1_Callback(void)
void HAL_PWREx_EnableWakeUpPin(const PWREx_WakeupPinTypeDef *sPinParams)
void HAL_PWREx_ClearPendingEvent(void)
void HAL_PWREx_WKUP6_Callback(void)
void HAL_PWREx_WKUP2_Callback(void)
void HAL_PWREx_DisableWakeUpPin(uint32_t WakeUpPin)
void HAL_PWREx_EnableUSBVoltageDetector(void)
HAL_StatusTypeDef HAL_PWREx_EnableBkUpReg(void)
HAL_StatusTypeDef HAL_PWREx_EnableUSBReg(void)
HAL_StatusTypeDef HAL_PWREx_DisableUSBReg(void)
void HAL_PWREx_DisableBatteryCharging(void)
void HAL_PWREx_EnableBatteryCharging(uint32_t ResistorValue)
void HAL_PWREx_DisableUSBVoltageDetector(void)
HAL_StatusTypeDef HAL_PWREx_DisableBkUpReg(void)
void HAL_PWREx_AVDCallback(void)
void HAL_PWREx_EnableMonitoring(void)
uint32_t HAL_PWREx_GetTemperatureLevel(void)
void HAL_PWREx_DisableAVD(void)
void HAL_PWREx_DisableMonitoring(void)
uint32_t HAL_PWREx_GetVBATLevel(void)
void HAL_PWREx_ConfigAVD(const PWREx_AVDTypeDef *sConfigAVD)
void HAL_PWREx_PVD_AVD_IRQHandler(void)
void HAL_PWREx_EnableAVD(void)
#define __HAL_PWR_AVD_EXTI_ENABLE_RISING_EDGE()
Enable the AVD Extended Interrupt Rising Trigger.
#define __HAL_PWR_AVD_EXTI_ENABLE_EVENT()
Enable event on AVD EXTI Line 16.
#define __HAL_PWR_AVD_EXTI_DISABLE_FALLING_EDGE()
Disable the AVD Extended Interrupt Falling Trigger.
#define __HAL_PWR_AVD_EXTI_GET_FLAG()
Check whether the specified AVD EXTI interrupt flag is set or not.
#define __HAL_PWR_AVD_EXTI_ENABLE_IT()
Enable the AVD EXTI Line 16.
#define __HAL_PWR_AVD_EXTI_DISABLE_EVENT()
Disable event on AVD EXTI Line 16.
#define __HAL_PWR_AVD_EXTI_DISABLE_RISING_EDGE()
Disable the AVD Extended Interrupt Rising Trigger.
#define __HAL_PWR_AVD_EXTI_DISABLE_IT()
Disable the AVD EXTI Line 16.
#define __HAL_PWR_AVD_EXTI_ENABLE_FALLING_EDGE()
Enable the AVD Extended Interrupt Falling Trigger.
#define __HAL_PWR_AVD_EXTI_CLEAR_FLAG()
Clear the AVD EXTI flag.
#define IS_PWR_WAKEUP_PIN_PULL(PULL)
#define IS_PWR_BATTERY_RESISTOR_SELECT(RESISTOR)
#define IS_PWR_AVD_LEVEL(LEVEL)
#define IS_PWR_WAKEUP_FLAG(FLAG)
#define IS_PWR_AVD_MODE(MODE)
#define IS_PWR_STOP_MODE_REGULATOR_VOLTAGE(VOLTAGE)
#define IS_D3_STATE(STATE)
#define IS_PWR_SUPPLY(PWR_SOURCE)
#define IS_PWR_WAKEUP_PIN(PIN)
#define IS_PWR_DOMAIN(DOMAIN)
#define IS_PWR_WAKEUP_PIN_POLARITY(POLARITY)
#define PWR_SUPPLY_CONFIG_MASK
#define PWR_TEMP_BELOW_LOW_THRESHOLD
#define PWR_TEMP_ABOVE_HIGH_THRESHOLD
#define PWR_TEMP_BETWEEN_HIGH_LOW_THRESHOLD
#define PWR_VBAT_BETWEEN_HIGH_LOW_THRESHOLD
#define PWR_VBAT_ABOVE_HIGH_THRESHOLD
#define PWR_VBAT_BELOW_LOW_THRESHOLD
void HAL_PWR_PVDCallback(void)
#define __HAL_PWR_CLEAR_WAKEUPFLAG(__FLAG__)
Clear PWR wake up flags.
#define __HAL_PWR_GET_FLAG(__FLAG__)
Check PWR flags are set or not.
#define __HAL_PWR_PVD_EXTI_GET_FLAG()
Check whether the specified PVD EXTI interrupt flag is set or not.
#define __HAL_PWR_PVD_EXTI_CLEAR_FLAG()
Clear the PVD EXTI flag.
#define PWR_FLAG_ACTVOSRDY
#define PWR_FLAG_USB33RDY
#define IS_PWR_REGULATOR(REGULATOR)
#define IS_PWR_STOP_ENTRY(ENTRY)
#define IS_PWR_REGULATOR_VOLTAGE(VOLTAGE)
#define PWR_REGULATOR_VOLTAGE_SCALE1
#define PWR_REGULATOR_VOLTAGE_SCALE0
#define PWR_STOPENTRY_WFI
#define PWR_WKUPFR_WKUPF4
Wakeup Pin Flag 4.
#define PWR_CR2_TEMPL
Monitored temperature level above low threshold.
#define PWR_CR3_BYPASS
Power Management Unit bypass.
#define EXTI_IMR2_IM55_Pos
#define PWR_CPUCR_PDDS_D2
D2 domain Power Down Deepsleep.
#define PWR_CR3_VBRS
VBAT charging resistor selection.
#define PWR_CR1_FLPS
Flash low power mode in DSTOP.
#define PWR_CR1_SVOS
System STOP mode Voltage Scaling selection.
#define PWR_CR3_LDOEN
Low Drop Output regulator enable.
#define PWR_WKUPEPR_WKUPP1_Pos
#define PWR_CR2_VBATL
Monitored VBAT level above low threshold.
#define PWR_WKUPEPR_WKUPPUPD1
Wakeup Pin pull configuration for WKUP1.
#define PWR_CR3_USB33DEN
VDD33_USB voltage level detector enable.
#define PWR_WKUPEPR_WKUPP1
Wakeup Pin Polarity for WKUP1.
#define PWR_CPUCR_PDDS_D1
D1 domain Power Down Deepsleep selection.
#define PWR_CR1_ALS
Analog Voltage Detector level selection.
#define PWR_D3CR_VOS
Voltage Scaling selection according performance.
#define PWR_CSR1_ACTVOS
Current actual used VOS for VDD11 Voltage Scaling.
#define PWR_WKUPEPR_WKUPPUPD1_Pos
#define PWR_WKUPFR_WKUPF2
Wakeup Pin Flag 2.
#define PWR_CR2_MONEN
VBAT and temperature monitoring enable.
#define PWR_CPUCR_PDDS_D3
System D3 domain Power Down Deepsleep.
#define PWR_CR2_BREN
Backup regulator enable.
#define PWR_CPUCR_CSSF
Clear D1 domain CPU1 STANDBY, STOP and HOLD flags.
#define PWR_CR3_VBE
VBAT charging enable.
#define PWR_CR2_VBATH
Monitored VBAT level above high threshold.
#define PWR_CR2_TEMPH
Monitored temperature level above high threshold.
#define PWR_CPUCR_RUN_D3
Keep system D3 domain in RUN mode regardless of the CPU sub-systems modes.
#define PWR_CR1_PVDEN
Programmable Voltage detector enable.
#define PWR_CR1_LPDS
Low Power Deepsleep with SVOS3.
#define PWR_WKUPFR_WKUPF1
Wakeup Pin Flag 1.
#define PWR_CR3_USBREGEN
USB regulator enable.
#define PWR_CR1_AVDEN
Analog Voltage Detector Enable.
This file contains all the functions prototypes for the HAL module driver.
#define assert_param(expr)
Uncomment the line below to expanse the "assert_param" macro in the HAL drivers code.
HAL_StatusTypeDef
HAL Status structures definition.
PWREx AVD configuration structure definition.
uint32_t Mode
Mode : Specifies the EXTI operating mode for the AVD event.
uint32_t AVDLevel
AVDLevel : Specifies the AVD detection level.
PWREx Wakeup pin configuration structure definition.
uint32_t WakeUpPin
WakeUpPin: Specifies the Wake-Up pin to be enabled.
uint32_t PinPolarity
PinPolarity: Specifies the Wake-Up pin polarity.
uint32_t PinPull
PinPull: Specifies the Wake-Up pin pull.