2 ******************************************************************************
3 * @file stm32f4xx_pwr.h
4 * @author MCD Application Team
7 * @brief This file contains all the functions prototypes for the PWR firmware
9 ******************************************************************************
12 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
13 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
14 * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
15 * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
16 * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
17 * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
19 * <h2><center>© COPYRIGHT 2011 STMicroelectronics</center></h2>
20 ******************************************************************************
23 /* Define to prevent recursive inclusion -------------------------------------*/
24 #ifndef __STM32F4xx_PWR_H
25 #define __STM32F4xx_PWR_H
31 /* Includes ------------------------------------------------------------------*/
32 #include "stm32f4xx.h"
34 /** @addtogroup STM32F4xx_StdPeriph_Driver
42 /* Exported types ------------------------------------------------------------*/
43 /* Exported constants --------------------------------------------------------*/
45 /** @defgroup PWR_Exported_Constants
49 /** @defgroup PWR_PVD_detection_level
53 #define PWR_PVDLevel_0 PWR_CR_PLS_LEV0
54 #define PWR_PVDLevel_1 PWR_CR_PLS_LEV1
55 #define PWR_PVDLevel_2 PWR_CR_PLS_LEV2
56 #define PWR_PVDLevel_3 PWR_CR_PLS_LEV3
57 #define PWR_PVDLevel_4 PWR_CR_PLS_LEV4
58 #define PWR_PVDLevel_5 PWR_CR_PLS_LEV5
59 #define PWR_PVDLevel_6 PWR_CR_PLS_LEV6
60 #define PWR_PVDLevel_7 PWR_CR_PLS_LEV7
62 #define IS_PWR_PVD_LEVEL(LEVEL) (((LEVEL) == PWR_PVDLevel_0) || ((LEVEL) == PWR_PVDLevel_1)|| \
63 ((LEVEL) == PWR_PVDLevel_2) || ((LEVEL) == PWR_PVDLevel_3)|| \
64 ((LEVEL) == PWR_PVDLevel_4) || ((LEVEL) == PWR_PVDLevel_5)|| \
65 ((LEVEL) == PWR_PVDLevel_6) || ((LEVEL) == PWR_PVDLevel_7))
71 /** @defgroup PWR_Regulator_state_in_STOP_mode
75 #define PWR_Regulator_ON ((uint32_t)0x00000000)
76 #define PWR_Regulator_LowPower PWR_CR_LPDS
77 #define IS_PWR_REGULATOR(REGULATOR) (((REGULATOR) == PWR_Regulator_ON) || \
78 ((REGULATOR) == PWR_Regulator_LowPower))
83 /** @defgroup PWR_STOP_mode_entry
87 #define PWR_STOPEntry_WFI ((uint8_t)0x01)
88 #define PWR_STOPEntry_WFE ((uint8_t)0x02)
89 #define IS_PWR_STOP_ENTRY(ENTRY) (((ENTRY) == PWR_STOPEntry_WFI) || ((ENTRY) == PWR_STOPEntry_WFE))
95 /** @defgroup PWR_Flag
99 #define PWR_FLAG_WU PWR_CSR_WUF
100 #define PWR_FLAG_SB PWR_CSR_SBF
101 #define PWR_FLAG_PVDO PWR_CSR_PVDO
102 #define PWR_FLAG_BRR PWR_CSR_BRR
103 #define PWR_FLAG_REGRDY PWR_CSR_REGRDY
105 #define IS_PWR_GET_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB) || \
106 ((FLAG) == PWR_FLAG_PVDO) || ((FLAG) == PWR_FLAG_BRR) || \
107 ((FLAG) == PWR_FLAG_REGRDY))
109 #define IS_PWR_CLEAR_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB))
118 /* Exported macro ------------------------------------------------------------*/
119 /* Exported functions --------------------------------------------------------*/
121 /* Function used to set the PWR configuration to the default reset state ******/
122 void PWR_DeInit(void);
124 /* Backup Domain Access function **********************************************/
125 void PWR_BackupAccessCmd(FunctionalState NewState);
127 /* PVD configuration functions ************************************************/
128 void PWR_PVDLevelConfig(uint32_t PWR_PVDLevel);
129 void PWR_PVDCmd(FunctionalState NewState);
131 /* WakeUp pins configuration functions ****************************************/
132 void PWR_WakeUpPinCmd(FunctionalState NewState);
134 /* Backup Regulator configuration functions ***********************************/
135 void PWR_BackupRegulatorCmd(FunctionalState NewState);
137 /* Performance Mode and FLASH Power Down configuration functions **************/
138 void PWR_HighPerformanceModeCmd(FunctionalState NewState);
139 void PWR_FlashPowerDownCmd(FunctionalState NewState);
141 /* Low Power modes configuration functions ************************************/
142 void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry);
143 void PWR_EnterSTANDBYMode(void);
145 /* Flags management functions *************************************************/
146 FlagStatus PWR_GetFlagStatus(uint32_t PWR_FLAG);
147 void PWR_ClearFlag(uint32_t PWR_FLAG);
153 #endif /* __STM32F4xx_PWR_H */
163 /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/