34 #ifdef HAL_PWR_MODULE_ENABLED
41 #define PWR_OVERDRIVE_TIMEOUT_VALUE 1000U
42 #define PWR_UDERDRIVE_TIMEOUT_VALUE 1000U
43 #define PWR_BKPREG_TIMEOUT_VALUE 1000U
44 #define PWR_VOSRDY_TIMEOUT_VALUE 1000U
143 uint32_t tickstart = 0U;
145 *(__IO uint32_t *) CSR_BRE_BB = (uint32_t)ENABLE;
151 while(__HAL_PWR_GET_FLAG(PWR_FLAG_BRR) == RESET)
153 if((
HAL_GetTick() - tickstart ) > PWR_BKPREG_TIMEOUT_VALUE)
167 uint32_t tickstart = 0U;
169 *(__IO uint32_t *) CSR_BRE_BB = (uint32_t)DISABLE;
175 while(__HAL_PWR_GET_FLAG(PWR_FLAG_BRR) != RESET)
177 if((
HAL_GetTick() - tickstart ) > PWR_BKPREG_TIMEOUT_VALUE)
191 *(__IO uint32_t *) CR_FPDS_BB = (uint32_t)ENABLE;
200 *(__IO uint32_t *) CR_FPDS_BB = (uint32_t)DISABLE;
213 return (PWR->CR & PWR_CR_VOS);
216 #if defined(STM32F405xx) || defined(STM32F415xx) || defined(STM32F407xx) || defined(STM32F417xx)
234 uint32_t tickstart = 0U;
236 assert_param(IS_PWR_VOLTAGE_SCALING_RANGE(VoltageScaling));
239 __HAL_RCC_PWR_CLK_ENABLE();
242 __HAL_PWR_VOLTAGESCALING_CONFIG(VoltageScaling);
246 while((__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY) == RESET))
248 if((
HAL_GetTick() - tickstart ) > PWR_VOSRDY_TIMEOUT_VALUE)
257 #elif defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx) || \
258 defined(STM32F401xC) || defined(STM32F401xE) || defined(STM32F410Tx) || defined(STM32F410Cx) || \
259 defined(STM32F410Rx) || defined(STM32F411xE) || defined(STM32F446xx) || defined(STM32F469xx) || \
260 defined(STM32F479xx) || defined(STM32F412Zx) || defined(STM32F412Vx) || defined(STM32F412Rx) || \
261 defined(STM32F412Cx) || defined(STM32F413xx) || defined(STM32F423xx)
290 uint32_t tickstart = 0U;
292 assert_param(IS_PWR_VOLTAGE_SCALING_RANGE(VoltageScaling));
295 __HAL_RCC_PWR_CLK_ENABLE();
298 if(__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_CFGR_SWS_PLL)
301 __HAL_RCC_PLL_DISABLE();
306 while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET)
308 if((
HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE)
315 __HAL_PWR_VOLTAGESCALING_CONFIG(VoltageScaling);
318 __HAL_RCC_PLL_ENABLE();
323 while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET)
325 if((
HAL_GetTick() - tickstart ) > PLL_TIMEOUT_VALUE)
333 while((__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY) == RESET))
335 if((
HAL_GetTick() - tickstart ) > PWR_VOSRDY_TIMEOUT_VALUE)
350 #if defined(STM32F401xC) || defined(STM32F401xE) || defined(STM32F410Tx) || defined(STM32F410Cx) || defined(STM32F410Rx) ||\
351 defined(STM32F411xE) || defined(STM32F412Zx) || defined(STM32F412Vx) || defined(STM32F412Rx) || defined(STM32F412Cx) ||\
352 defined(STM32F413xx) || defined(STM32F423xx)
361 *(__IO uint32_t *) CR_MRLVDS_BB = (uint32_t)ENABLE;
372 *(__IO uint32_t *) CR_MRLVDS_BB = (uint32_t)DISABLE;
383 *(__IO uint32_t *) CR_LPLVDS_BB = (uint32_t)ENABLE;
394 *(__IO uint32_t *) CR_LPLVDS_BB = (uint32_t)DISABLE;
400 #if defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx) ||\
401 defined(STM32F446xx) || defined(STM32F469xx) || defined(STM32F479xx)
415 uint32_t tickstart = 0U;
417 __HAL_RCC_PWR_CLK_ENABLE();
420 __HAL_PWR_OVERDRIVE_ENABLE();
425 while(!__HAL_PWR_GET_FLAG(PWR_FLAG_ODRDY))
427 if((
HAL_GetTick() - tickstart) > PWR_OVERDRIVE_TIMEOUT_VALUE)
434 __HAL_PWR_OVERDRIVESWITCHING_ENABLE();
439 while(!__HAL_PWR_GET_FLAG(PWR_FLAG_ODSWRDY))
441 if((
HAL_GetTick() - tickstart ) > PWR_OVERDRIVE_TIMEOUT_VALUE)
462 uint32_t tickstart = 0U;
464 __HAL_RCC_PWR_CLK_ENABLE();
467 __HAL_PWR_OVERDRIVESWITCHING_DISABLE();
472 while(__HAL_PWR_GET_FLAG(PWR_FLAG_ODSWRDY))
474 if((
HAL_GetTick() - tickstart) > PWR_OVERDRIVE_TIMEOUT_VALUE)
481 __HAL_PWR_OVERDRIVE_DISABLE();
486 while(__HAL_PWR_GET_FLAG(PWR_FLAG_ODRDY))
488 if((
HAL_GetTick() - tickstart) > PWR_OVERDRIVE_TIMEOUT_VALUE)
538 uint32_t tmpreg1 = 0U;
541 assert_param(IS_PWR_REGULATOR_UNDERDRIVE(Regulator));
542 assert_param(IS_PWR_STOP_ENTRY(STOPEntry));
545 __HAL_RCC_PWR_CLK_ENABLE();
548 __HAL_PWR_CLEAR_ODRUDR_FLAG();
551 __HAL_PWR_UNDERDRIVE_ENABLE();
556 tmpreg1 &= (uint32_t)~(PWR_CR_PDDS | PWR_CR_LPDS | PWR_CR_LPUDS | PWR_CR_MRUDS);
559 tmpreg1 |= Regulator;
565 SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
568 if(STOPEntry == PWR_SLEEPENTRY_WFI)
579 SCB->SCR &= (uint32_t)~((uint32_t)SCB_SCR_SLEEPDEEP_Msk);
uint32_t HAL_GetTick(void)
Provides a tick value in millisecond.
void HAL_PWREx_DisableLowRegulatorLowVoltage(void)
Disables Low Power Regulator low voltage mode.
void HAL_PWREx_DisableFlashPowerDown(void)
Disables the Flash Power Down in Stop mode.
HAL_StatusTypeDef HAL_PWREx_ControlVoltageScaling(uint32_t VoltageScaling)
Configures the main internal regulator output voltage.
HAL_StatusTypeDef HAL_PWREx_EnableBkUpReg(void)
Enables the Backup Regulator.
uint32_t HAL_PWREx_GetVoltageRange(void)
Return Voltage Scaling Range.
HAL_StatusTypeDef HAL_PWREx_EnterUnderDriveSTOPMode(uint32_t Regulator, uint8_t STOPEntry)
Enters in Under-Drive STOP mode.
HAL_StatusTypeDef HAL_PWREx_DisableOverDrive(void)
Deactivates the Over-Drive mode.
void HAL_PWREx_EnableFlashPowerDown(void)
Enables the Flash Power Down in Stop mode.
void HAL_PWREx_EnableMainRegulatorLowVoltage(void)
Enables Main Regulator low voltage mode.
HAL_StatusTypeDef HAL_PWREx_EnableOverDrive(void)
Activates the Over-Drive mode.
void HAL_PWREx_EnableLowRegulatorLowVoltage(void)
Enables Low Power Regulator low voltage mode.
HAL_StatusTypeDef HAL_PWREx_DisableBkUpReg(void)
Disables the Backup Regulator.
void HAL_PWREx_DisableMainRegulatorLowVoltage(void)
Disables Main Regulator low voltage mode.
This file contains all the functions prototypes for the HAL module driver.