STM32F4 Standard Peripheral bibliotheek  1.0
ST Microelectronics bibliotheek documentatie voor de STM32F4 Standard Peripheral Library
 All Data Structures Files Functions Variables Enumerations Enumerator Groups
stm32f4xx_pwr.h
Go to the documentation of this file.
1 
29 /* Define to prevent recursive inclusion -------------------------------------*/
30 #ifndef __STM32F4xx_PWR_H
31 #define __STM32F4xx_PWR_H
32 
33 #ifdef __cplusplus
34  extern "C" {
35 #endif
36 
37 /* Includes ------------------------------------------------------------------*/
38 #include "stm32f4xx.h"
39 
48 /* Exported types ------------------------------------------------------------*/
49 /* Exported constants --------------------------------------------------------*/
50 
59 #define PWR_PVDLevel_0 PWR_CR_PLS_LEV0
60 #define PWR_PVDLevel_1 PWR_CR_PLS_LEV1
61 #define PWR_PVDLevel_2 PWR_CR_PLS_LEV2
62 #define PWR_PVDLevel_3 PWR_CR_PLS_LEV3
63 #define PWR_PVDLevel_4 PWR_CR_PLS_LEV4
64 #define PWR_PVDLevel_5 PWR_CR_PLS_LEV5
65 #define PWR_PVDLevel_6 PWR_CR_PLS_LEV6
66 #define PWR_PVDLevel_7 PWR_CR_PLS_LEV7
67 
68 #define IS_PWR_PVD_LEVEL(LEVEL) (((LEVEL) == PWR_PVDLevel_0) || ((LEVEL) == PWR_PVDLevel_1)|| \
69  ((LEVEL) == PWR_PVDLevel_2) || ((LEVEL) == PWR_PVDLevel_3)|| \
70  ((LEVEL) == PWR_PVDLevel_4) || ((LEVEL) == PWR_PVDLevel_5)|| \
71  ((LEVEL) == PWR_PVDLevel_6) || ((LEVEL) == PWR_PVDLevel_7))
72 
81 #define PWR_Regulator_ON ((uint32_t)0x00000000)
82 #define PWR_Regulator_LowPower PWR_CR_LPDS
83 #define IS_PWR_REGULATOR(REGULATOR) (((REGULATOR) == PWR_Regulator_ON) || \
84  ((REGULATOR) == PWR_Regulator_LowPower))
85 
93 #define PWR_STOPEntry_WFI ((uint8_t)0x01)
94 #define PWR_STOPEntry_WFE ((uint8_t)0x02)
95 #define IS_PWR_STOP_ENTRY(ENTRY) (((ENTRY) == PWR_STOPEntry_WFI) || ((ENTRY) == PWR_STOPEntry_WFE))
96 
101 #define PWR_Regulator_Voltage_Scale1 ((uint32_t)0x00004000)
102 #define PWR_Regulator_Voltage_Scale2 ((uint32_t)0x00000000)
103 #define IS_PWR_REGULATOR_VOLTAGE(VOLTAGE) (((VOLTAGE) == PWR_Regulator_Voltage_Scale1) || ((VOLTAGE) == PWR_Regulator_Voltage_Scale2))
104 
113 #define PWR_FLAG_WU PWR_CSR_WUF
114 #define PWR_FLAG_SB PWR_CSR_SBF
115 #define PWR_FLAG_PVDO PWR_CSR_PVDO
116 #define PWR_FLAG_BRR PWR_CSR_BRR
117 #define PWR_FLAG_VOSRDY PWR_CSR_VOSRDY
118 
122 #define PWR_FLAG_REGRDY PWR_FLAG_VOSRDY
123 
127 #define IS_PWR_GET_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB) || \
128  ((FLAG) == PWR_FLAG_PVDO) || ((FLAG) == PWR_FLAG_BRR) || \
129  ((FLAG) == PWR_FLAG_VOSRDY))
130 
131 #define IS_PWR_CLEAR_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB))
132 
140 /* Exported macro ------------------------------------------------------------*/
141 /* Exported functions --------------------------------------------------------*/
142 
143 /* Function used to set the PWR configuration to the default reset state ******/
144 void PWR_DeInit(void);
145 
146 /* Backup Domain Access function **********************************************/
147 void PWR_BackupAccessCmd(FunctionalState NewState);
148 
149 /* PVD configuration functions ************************************************/
150 void PWR_PVDLevelConfig(uint32_t PWR_PVDLevel);
151 void PWR_PVDCmd(FunctionalState NewState);
152 
153 /* WakeUp pins configuration functions ****************************************/
154 void PWR_WakeUpPinCmd(FunctionalState NewState);
155 
156 /* Main and Backup Regulators configuration functions *************************/
157 void PWR_BackupRegulatorCmd(FunctionalState NewState);
158 void PWR_MainRegulatorModeConfig(uint32_t PWR_Regulator_Voltage);
159 
160 /* FLASH Power Down configuration functions ***********************************/
161 void PWR_FlashPowerDownCmd(FunctionalState NewState);
162 
163 /* Low Power modes configuration functions ************************************/
164 void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry);
165 void PWR_EnterSTANDBYMode(void);
166 
167 /* Flags management functions *************************************************/
168 FlagStatus PWR_GetFlagStatus(uint32_t PWR_FLAG);
169 void PWR_ClearFlag(uint32_t PWR_FLAG);
170 
171 #ifdef __cplusplus
172 }
173 #endif
174 
175 #endif /* __STM32F4xx_PWR_H */
176 
185 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/