amiro-blt / Target / Demo / ARMCM4_STM32F405_Power_Management_GCC / Boot / lib / stdperiphlib / STM32F4xx_StdPeriph_Driver / inc / stm32f4xx_pwr.h @ 69661903
History | View | Annotate | Download (6.21 KB)
1 |
/**
|
---|---|
2 |
******************************************************************************
|
3 |
* @file stm32f4xx_pwr.h
|
4 |
* @author MCD Application Team
|
5 |
* @version V1.1.0
|
6 |
* @date 11-January-2013
|
7 |
* @brief This file contains all the functions prototypes for the PWR firmware
|
8 |
* library.
|
9 |
******************************************************************************
|
10 |
* @attention
|
11 |
*
|
12 |
* <h2><center>© COPYRIGHT 2013 STMicroelectronics</center></h2>
|
13 |
*
|
14 |
* Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");
|
15 |
* You may not use this file except in compliance with the License.
|
16 |
* You may obtain a copy of the License at:
|
17 |
*
|
18 |
* http://www.st.com/software_license_agreement_liberty_v2
|
19 |
*
|
20 |
* Unless required by applicable law or agreed to in writing, software
|
21 |
* distributed under the License is distributed on an "AS IS" BASIS,
|
22 |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
23 |
* See the License for the specific language governing permissions and
|
24 |
* limitations under the License.
|
25 |
*
|
26 |
******************************************************************************
|
27 |
*/
|
28 |
|
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 |
|
40 |
/** @addtogroup STM32F4xx_StdPeriph_Driver
|
41 |
* @{
|
42 |
*/
|
43 |
|
44 |
/** @addtogroup PWR
|
45 |
* @{
|
46 |
*/
|
47 |
|
48 |
/* Exported types ------------------------------------------------------------*/
|
49 |
/* Exported constants --------------------------------------------------------*/
|
50 |
|
51 |
/** @defgroup PWR_Exported_Constants
|
52 |
* @{
|
53 |
*/
|
54 |
|
55 |
/** @defgroup PWR_PVD_detection_level
|
56 |
* @{
|
57 |
*/
|
58 |
|
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 |
/**
|
73 |
* @}
|
74 |
*/
|
75 |
|
76 |
|
77 |
/** @defgroup PWR_Regulator_state_in_STOP_mode
|
78 |
* @{
|
79 |
*/
|
80 |
|
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 |
/**
|
86 |
* @}
|
87 |
*/
|
88 |
|
89 |
/** @defgroup PWR_STOP_mode_entry
|
90 |
* @{
|
91 |
*/
|
92 |
|
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 |
|
97 |
/** @defgroup PWR_Regulator_Voltage_Scale
|
98 |
* @{
|
99 |
*/
|
100 |
|
101 |
#define PWR_Regulator_Voltage_Scale1 ((uint32_t)0x0000C000) |
102 |
#define PWR_Regulator_Voltage_Scale2 ((uint32_t)0x00008000) |
103 |
#define PWR_Regulator_Voltage_Scale3 ((uint32_t)0x00004000) |
104 |
#define IS_PWR_REGULATOR_VOLTAGE(VOLTAGE) (((VOLTAGE) == PWR_Regulator_Voltage_Scale1) || \
|
105 |
((VOLTAGE) == PWR_Regulator_Voltage_Scale2) || \ |
106 |
((VOLTAGE) == PWR_Regulator_Voltage_Scale3)) |
107 |
|
108 |
/**
|
109 |
* @}
|
110 |
*/
|
111 |
|
112 |
/** @defgroup PWR_Flag
|
113 |
* @{
|
114 |
*/
|
115 |
|
116 |
#define PWR_FLAG_WU PWR_CSR_WUF
|
117 |
#define PWR_FLAG_SB PWR_CSR_SBF
|
118 |
#define PWR_FLAG_PVDO PWR_CSR_PVDO
|
119 |
#define PWR_FLAG_BRR PWR_CSR_BRR
|
120 |
#define PWR_FLAG_VOSRDY PWR_CSR_VOSRDY
|
121 |
|
122 |
/** @defgroup PWR_Flag_Legacy
|
123 |
* @{
|
124 |
*/
|
125 |
#define PWR_FLAG_REGRDY PWR_FLAG_VOSRDY
|
126 |
/**
|
127 |
* @}
|
128 |
*/
|
129 |
|
130 |
#define IS_PWR_GET_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB) || \
|
131 |
((FLAG) == PWR_FLAG_PVDO) || ((FLAG) == PWR_FLAG_BRR) || \ |
132 |
((FLAG) == PWR_FLAG_VOSRDY)) |
133 |
|
134 |
#define IS_PWR_CLEAR_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB))
|
135 |
/**
|
136 |
* @}
|
137 |
*/
|
138 |
|
139 |
/**
|
140 |
* @}
|
141 |
*/
|
142 |
|
143 |
/* Exported macro ------------------------------------------------------------*/
|
144 |
/* Exported functions --------------------------------------------------------*/
|
145 |
|
146 |
/* Function used to set the PWR configuration to the default reset state ******/
|
147 |
void PWR_DeInit(void); |
148 |
|
149 |
/* Backup Domain Access function **********************************************/
|
150 |
void PWR_BackupAccessCmd(FunctionalState NewState);
|
151 |
|
152 |
/* PVD configuration functions ************************************************/
|
153 |
void PWR_PVDLevelConfig(uint32_t PWR_PVDLevel);
|
154 |
void PWR_PVDCmd(FunctionalState NewState);
|
155 |
|
156 |
/* WakeUp pins configuration functions ****************************************/
|
157 |
void PWR_WakeUpPinCmd(FunctionalState NewState);
|
158 |
|
159 |
/* Main and Backup Regulators configuration functions *************************/
|
160 |
void PWR_BackupRegulatorCmd(FunctionalState NewState);
|
161 |
void PWR_MainRegulatorModeConfig(uint32_t PWR_Regulator_Voltage);
|
162 |
|
163 |
/* FLASH Power Down configuration functions ***********************************/
|
164 |
void PWR_FlashPowerDownCmd(FunctionalState NewState);
|
165 |
|
166 |
/* Low Power modes configuration functions ************************************/
|
167 |
void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry);
|
168 |
void PWR_EnterSTANDBYMode(void); |
169 |
|
170 |
/* Flags management functions *************************************************/
|
171 |
FlagStatus PWR_GetFlagStatus(uint32_t PWR_FLAG); |
172 |
void PWR_ClearFlag(uint32_t PWR_FLAG);
|
173 |
|
174 |
#ifdef __cplusplus
|
175 |
} |
176 |
#endif
|
177 |
|
178 |
#endif /* __STM32F4xx_PWR_H */ |
179 |
|
180 |
/**
|
181 |
* @}
|
182 |
*/
|
183 |
|
184 |
/**
|
185 |
* @}
|
186 |
*/
|
187 |
|
188 |
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|