STM32F0 Standard Peripheral bibliotheek  1.0
ST Microelectronics standard peripheral bibliotheek documentatie voor de STM32F0 familie
 All Data Structures Files Functions Variables Enumerations Enumerator Groups
stm32f0xx_pwr.h
Go to the documentation of this file.
1 
29 /* Define to prevent recursive inclusion -------------------------------------*/
30 #ifndef __STM32F0XX_PWR_H
31 #define __STM32F0XX_PWR_H
32 
33 #ifdef __cplusplus
34  extern "C" {
35 #endif
36 
37 /* Includes ------------------------------------------------------------------*/
38 #include "stm32f0xx.h"
39 
48 /* Exported types ------------------------------------------------------------*/
49 
50 /* Exported constants --------------------------------------------------------*/
51 
60 #define PWR_PVDLevel_0 PWR_CR_PLS_LEV0
61 #define PWR_PVDLevel_1 PWR_CR_PLS_LEV1
62 #define PWR_PVDLevel_2 PWR_CR_PLS_LEV2
63 #define PWR_PVDLevel_3 PWR_CR_PLS_LEV3
64 #define PWR_PVDLevel_4 PWR_CR_PLS_LEV4
65 #define PWR_PVDLevel_5 PWR_CR_PLS_LEV5
66 #define PWR_PVDLevel_6 PWR_CR_PLS_LEV6
67 #define PWR_PVDLevel_7 PWR_CR_PLS_LEV7
68 
69 #define IS_PWR_PVD_LEVEL(LEVEL) (((LEVEL) == PWR_PVDLevel_0) || ((LEVEL) == PWR_PVDLevel_1)|| \
70  ((LEVEL) == PWR_PVDLevel_2) || ((LEVEL) == PWR_PVDLevel_3)|| \
71  ((LEVEL) == PWR_PVDLevel_4) || ((LEVEL) == PWR_PVDLevel_5)|| \
72  ((LEVEL) == PWR_PVDLevel_6) || ((LEVEL) == PWR_PVDLevel_7))
73 
81 #define PWR_WakeUpPin_1 PWR_CSR_EWUP1
82 #define PWR_WakeUpPin_2 PWR_CSR_EWUP2
83 #define IS_PWR_WAKEUP_PIN(PIN) (((PIN) == PWR_WakeUpPin_1) || \
84  ((PIN) == PWR_WakeUpPin_2))
85 
94 #define PWR_Regulator_ON ((uint32_t)0x00000000)
95 #define PWR_Regulator_LowPower PWR_CR_LPSDSR
96 #define IS_PWR_REGULATOR(REGULATOR) (((REGULATOR) == PWR_Regulator_ON) || \
97  ((REGULATOR) == PWR_Regulator_LowPower))
98 
106 #define PWR_SLEEPEntry_WFI ((uint8_t)0x01)
107 #define PWR_SLEEPEntry_WFE ((uint8_t)0x02)
108 #define IS_PWR_SLEEP_ENTRY(ENTRY) (((ENTRY) == PWR_SLEEPEntry_WFI) || ((ENTRY) == PWR_SLEEPEntry_WFE))
109 
118 #define PWR_STOPEntry_WFI ((uint8_t)0x01)
119 #define PWR_STOPEntry_WFE ((uint8_t)0x02)
120 #define IS_PWR_STOP_ENTRY(ENTRY) (((ENTRY) == PWR_STOPEntry_WFI) || ((ENTRY) == PWR_STOPEntry_WFE))
121 
130 #define PWR_FLAG_WU PWR_CSR_WUF
131 #define PWR_FLAG_SB PWR_CSR_SBF
132 #define PWR_FLAG_PVDO PWR_CSR_PVDO
133 #define PWR_FLAG_VREFINTRDY PWR_CSR_VREFINTRDYF
134 
135 #define IS_PWR_GET_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB) || \
136  ((FLAG) == PWR_FLAG_PVDO) || ((FLAG) == PWR_FLAG_VREFINTRDY))
137 
138 #define IS_PWR_CLEAR_FLAG(FLAG) (((FLAG) == PWR_FLAG_WU) || ((FLAG) == PWR_FLAG_SB))
139 
147 /* Exported macro ------------------------------------------------------------*/
148 /* Exported functions ------------------------------------------------------- */
149 
150 /* Function used to set the PWR configuration to the default reset state ******/
151 void PWR_DeInit(void);
152 
153 /* Backup Domain Access function **********************************************/
154 void PWR_BackupAccessCmd(FunctionalState NewState);
155 
156 /* PVD configuration functions ************************************************/
157 void PWR_PVDLevelConfig(uint32_t PWR_PVDLevel);
158 void PWR_PVDCmd(FunctionalState NewState);
159 
160 /* WakeUp pins configuration functions ****************************************/
161 void PWR_WakeUpPinCmd(uint32_t PWR_WakeUpPin, FunctionalState NewState);
162 
163 /* Low Power modes configuration functions ************************************/
164 void PWR_EnterSleepMode(uint8_t PWR_SLEEPEntry);
165 void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry);
166 void PWR_EnterSTANDBYMode(void);
167 
168 /* Flags management functions *************************************************/
169 FlagStatus PWR_GetFlagStatus(uint32_t PWR_FLAG);
170 void PWR_ClearFlag(uint32_t PWR_FLAG);
171 
172 #ifdef __cplusplus
173 }
174 #endif
175 
176 #endif /* __STM32F0XX_PWR_H */
177 
186 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/