ARMEBS4  revision-26.06.2015
stm32f4xx_pwr.h
Go to the documentation of this file.
1 /**
2  ******************************************************************************
3  * @file stm32f4xx_pwr.h
4  * @author MCD Application Team
5  * @version V1.0.0
6  * @date 30-September-2011
7  * @brief This file contains all the functions prototypes for the PWR firmware
8  * library.
9  ******************************************************************************
10  * @attention
11  *
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.
18  *
19  * <h2><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h2>
20  ******************************************************************************
21  */
22 
23 /* Define to prevent recursive inclusion -------------------------------------*/
24 #ifndef __STM32F4xx_PWR_H
25 #define __STM32F4xx_PWR_H
26 
27 #ifdef __cplusplus
28  extern "C" {
29 #endif
30 
31 /* Includes ------------------------------------------------------------------*/
32 #include "stm32/stm32f4xx.h"
33 
34 /** @addtogroup STM32F4xx_StdPeriph_Driver
35  * @{
36  */
37 
38 /** @addtogroup PWR
39  * @{
40  */
41 
42 /* Exported types ------------------------------------------------------------*/
43 /* Exported constants --------------------------------------------------------*/
44 
45 /** @defgroup PWR_Exported_Constants
46  * @{
47  */
48 
49 /** @defgroup PWR_PVD_detection_level
50  * @{
51  */
52 
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
61 
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))
66 /**
67  * @}
68  */
69 
70 
71 /** @defgroup PWR_Regulator_state_in_STOP_mode
72  * @{
73  */
74 
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))
79 /**
80  * @}
81  */
82 
83 /** @defgroup PWR_STOP_mode_entry
84  * @{
85  */
86 
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))
90 
91 /** @defgroup PWR_Regulator_Voltage_Scale
92  * @{
93  */
94 
95 #define PWR_Regulator_Voltage_Scale1 ((uint32_t)0x00004000)
96 #define PWR_Regulator_Voltage_Scale2 ((uint32_t)0x00000000)
97 #define IS_PWR_REGULATOR_VOLTAGE(VOLTAGE) (((VOLTAGE) == PWR_Regulator_Voltage_Scale1) || ((VOLTAGE) == PWR_Regulator_Voltage_Scale2))
98 
99 /**
100  * @}
101  */
102 
103 /** @defgroup PWR_Flag
104  * @{
105  */
106 
107 #define PWR_FLAG_WU PWR_CSR_WUF
108 #define PWR_FLAG_SB PWR_CSR_SBF
109 #define PWR_FLAG_PVDO PWR_CSR_PVDO
110 #define PWR_FLAG_BRR PWR_CSR_BRR
111 #define PWR_FLAG_VOSRDY PWR_CSR_VOSRDY
112 
113 /** @defgroup PWR_Flag_Legacy
114  * @{
115  */
116 #define PWR_FLAG_REGRDY PWR_FLAG_VOSRDY
117 /**
118  * @}
119  */
120 
121 #define IS_PWR_GET_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB) || \
122  ((FLAG) == PWR_FLAG_PVDO) || ((FLAG) == PWR_FLAG_BRR) || \
123  ((FLAG) == PWR_FLAG_VOSRDY))
124 
125 #define IS_PWR_CLEAR_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB))
126 /**
127  * @}
128  */
129 
130 /**
131  * @}
132  */
133 
134 /* Exported macro ------------------------------------------------------------*/
135 /* Exported functions --------------------------------------------------------*/
136 
137 /* Function used to set the PWR configuration to the default reset state ******/
138 void PWR_DeInit(void);
139 
140 /* Backup Domain Access function **********************************************/
141 void PWR_BackupAccessCmd(FunctionalState NewState);
142 
143 /* PVD configuration functions ************************************************/
144 void PWR_PVDLevelConfig(uint32_t PWR_PVDLevel);
145 void PWR_PVDCmd(FunctionalState NewState);
146 
147 /* WakeUp pins configuration functions ****************************************/
148 void PWR_WakeUpPinCmd(FunctionalState NewState);
149 
150 /* Main and Backup Regulators configuration functions *************************/
151 void PWR_BackupRegulatorCmd(FunctionalState NewState);
152 void PWR_MainRegulatorModeConfig(uint32_t PWR_Regulator_Voltage);
153 
154 /* FLASH Power Down configuration functions ***********************************/
155 void PWR_FlashPowerDownCmd(FunctionalState NewState);
156 
157 /* Low Power modes configuration functions ************************************/
158 void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry);
159 void PWR_EnterSTANDBYMode(void);
160 
161 /* Flags management functions *************************************************/
162 FlagStatus PWR_GetFlagStatus(uint32_t PWR_FLAG);
163 void PWR_ClearFlag(uint32_t PWR_FLAG);
164 
165 #ifdef __cplusplus
166 }
167 #endif
168 
169 #endif /* __STM32F4xx_PWR_H */
170 
171 /**
172  * @}
173  */
174 
175 /**
176  * @}
177  */
178 
179 /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/
CMSIS Cortex-M4 Device Peripheral Access Layer Header File. This file contains all the peripheral reg...