STM32F769IDiscovery  1.00
uDANTE Audio Networking with STM32F7 DISCO board
stm32f7xx_hal_pwr.h
Go to the documentation of this file.
1 
38 /* Define to prevent recursive inclusion -------------------------------------*/
39 #ifndef __STM32F7xx_HAL_PWR_H
40 #define __STM32F7xx_HAL_PWR_H
41 
42 #ifdef __cplusplus
43  extern "C" {
44 #endif
45 
46 /* Includes ------------------------------------------------------------------*/
47 #include "stm32f7xx_hal_def.h"
48 
57 /* Exported types ------------------------------------------------------------*/
58 
66 typedef struct
67 {
68  uint32_t PVDLevel;
71  uint32_t Mode;
74 
79 /* Exported constants --------------------------------------------------------*/
87 #define PWR_PVDLEVEL_0 PWR_CR1_PLS_LEV0
88 #define PWR_PVDLEVEL_1 PWR_CR1_PLS_LEV1
89 #define PWR_PVDLEVEL_2 PWR_CR1_PLS_LEV2
90 #define PWR_PVDLEVEL_3 PWR_CR1_PLS_LEV3
91 #define PWR_PVDLEVEL_4 PWR_CR1_PLS_LEV4
92 #define PWR_PVDLEVEL_5 PWR_CR1_PLS_LEV5
93 #define PWR_PVDLEVEL_6 PWR_CR1_PLS_LEV6
94 #define PWR_PVDLEVEL_7 PWR_CR1_PLS_LEV7/* External input analog voltage
95  (Compare internally to VREFINT) */
96 
104 #define PWR_PVD_MODE_NORMAL ((uint32_t)0x00000000U)
105 #define PWR_PVD_MODE_IT_RISING ((uint32_t)0x00010001U)
106 #define PWR_PVD_MODE_IT_FALLING ((uint32_t)0x00010002U)
107 #define PWR_PVD_MODE_IT_RISING_FALLING ((uint32_t)0x00010003U)
108 #define PWR_PVD_MODE_EVENT_RISING ((uint32_t)0x00020001U)
109 #define PWR_PVD_MODE_EVENT_FALLING ((uint32_t)0x00020002U)
110 #define PWR_PVD_MODE_EVENT_RISING_FALLING ((uint32_t)0x00020003U)
118 #define PWR_MAINREGULATOR_ON ((uint32_t)0x00000000U)
119 #define PWR_LOWPOWERREGULATOR_ON PWR_CR1_LPDS
120 
127 #define PWR_SLEEPENTRY_WFI ((uint8_t)0x01U)
128 #define PWR_SLEEPENTRY_WFE ((uint8_t)0x02U)
129 
136 #define PWR_STOPENTRY_WFI ((uint8_t)0x01U)
137 #define PWR_STOPENTRY_WFE ((uint8_t)0x02U)
138 
145 #define PWR_REGULATOR_VOLTAGE_SCALE1 PWR_CR1_VOS
146 #define PWR_REGULATOR_VOLTAGE_SCALE2 PWR_CR1_VOS_1
147 #define PWR_REGULATOR_VOLTAGE_SCALE3 PWR_CR1_VOS_0
148 
155 #define PWR_FLAG_WU PWR_CSR1_WUIF
156 #define PWR_FLAG_SB PWR_CSR1_SBF
157 #define PWR_FLAG_PVDO PWR_CSR1_PVDO
158 #define PWR_FLAG_BRR PWR_CSR1_BRR
159 #define PWR_FLAG_VOSRDY PWR_CSR1_VOSRDY
160 
168 /* Exported macro ------------------------------------------------------------*/
183 #define __HAL_PWR_VOLTAGESCALING_CONFIG(__REGULATOR__) do { \
184  __IO uint32_t tmpreg; \
185  MODIFY_REG(PWR->CR1, PWR_CR1_VOS, (__REGULATOR__)); \
186  /* Delay after an RCC peripheral clock enabling */ \
187  tmpreg = READ_BIT(PWR->CR1, PWR_CR1_VOS); \
188  UNUSED(tmpreg); \
189  } while(0)
190 
210 #define __HAL_PWR_GET_FLAG(__FLAG__) ((PWR->CSR1 & (__FLAG__)) == (__FLAG__))
211 
217 #define __HAL_PWR_CLEAR_FLAG(__FLAG__) (PWR->CR1 |= (__FLAG__) << 2)
218 
223 #define __HAL_PWR_PVD_EXTI_ENABLE_IT() (EXTI->IMR |= (PWR_EXTI_LINE_PVD))
224 
229 #define __HAL_PWR_PVD_EXTI_DISABLE_IT() (EXTI->IMR &= ~(PWR_EXTI_LINE_PVD))
230 
235 #define __HAL_PWR_PVD_EXTI_ENABLE_EVENT() (EXTI->EMR |= (PWR_EXTI_LINE_PVD))
236 
241 #define __HAL_PWR_PVD_EXTI_DISABLE_EVENT() (EXTI->EMR &= ~(PWR_EXTI_LINE_PVD))
242 
247 #define __HAL_PWR_PVD_EXTI_ENABLE_RISING_EDGE() SET_BIT(EXTI->RTSR, PWR_EXTI_LINE_PVD)
248 
253 #define __HAL_PWR_PVD_EXTI_DISABLE_RISING_EDGE() CLEAR_BIT(EXTI->RTSR, PWR_EXTI_LINE_PVD)
254 
259 #define __HAL_PWR_PVD_EXTI_ENABLE_FALLING_EDGE() SET_BIT(EXTI->FTSR, PWR_EXTI_LINE_PVD)
260 
261 
266 #define __HAL_PWR_PVD_EXTI_DISABLE_FALLING_EDGE() CLEAR_BIT(EXTI->FTSR, PWR_EXTI_LINE_PVD)
267 
268 
273 #define __HAL_PWR_PVD_EXTI_ENABLE_RISING_FALLING_EDGE() __HAL_PWR_PVD_EXTI_ENABLE_RISING_EDGE();__HAL_PWR_PVD_EXTI_ENABLE_FALLING_EDGE();
274 
279 #define __HAL_PWR_PVD_EXTI_DISABLE_RISING_FALLING_EDGE() __HAL_PWR_PVD_EXTI_DISABLE_RISING_EDGE();__HAL_PWR_PVD_EXTI_DISABLE_FALLING_EDGE();
280 
285 #define __HAL_PWR_PVD_EXTI_GET_FLAG() (EXTI->PR & (PWR_EXTI_LINE_PVD))
286 
291 #define __HAL_PWR_PVD_EXTI_CLEAR_FLAG() (EXTI->PR = (PWR_EXTI_LINE_PVD))
292 
297 #define __HAL_PWR_PVD_EXTI_GENERATE_SWIT() (EXTI->SWIER |= (PWR_EXTI_LINE_PVD))
298 
303 /* Include PWR HAL Extension module */
304 #include "stm32f7xx_hal_pwr_ex.h"
305 
306 /* Exported functions --------------------------------------------------------*/
314 /* Initialization and de-initialization functions *****************************/
315 void HAL_PWR_DeInit(void);
316 void HAL_PWR_EnableBkUpAccess(void);
317 void HAL_PWR_DisableBkUpAccess(void);
325 /* Peripheral Control functions **********************************************/
326 /* PVD configuration */
327 void HAL_PWR_ConfigPVD(PWR_PVDTypeDef *sConfigPVD);
328 void HAL_PWR_EnablePVD(void);
329 void HAL_PWR_DisablePVD(void);
330 
331 /* WakeUp pins configuration */
332 void HAL_PWR_EnableWakeUpPin(uint32_t WakeUpPinPolarity);
333 void HAL_PWR_DisableWakeUpPin(uint32_t WakeUpPinx);
334 
335 /* Low Power modes entry */
336 void HAL_PWR_EnterSTOPMode(uint32_t Regulator, uint8_t STOPEntry);
337 void HAL_PWR_EnterSLEEPMode(uint32_t Regulator, uint8_t SLEEPEntry);
338 void HAL_PWR_EnterSTANDBYMode(void);
339 
340 /* Power PVD IRQ Handler */
341 void HAL_PWR_PVD_IRQHandler(void);
342 void HAL_PWR_PVDCallback(void);
343 
344 /* Cortex System Control functions *******************************************/
345 void HAL_PWR_EnableSleepOnExit(void);
346 void HAL_PWR_DisableSleepOnExit(void);
347 void HAL_PWR_EnableSEVOnPend(void);
348 void HAL_PWR_DisableSEVOnPend(void);
357 /* Private types -------------------------------------------------------------*/
358 /* Private variables ---------------------------------------------------------*/
359 /* Private constants ---------------------------------------------------------*/
367 #define PWR_EXTI_LINE_PVD ((uint32_t)EXTI_IMR_IM16)
375 /* Private macros ------------------------------------------------------------*/
376 
383 #define IS_PWR_PVD_LEVEL(LEVEL) (((LEVEL) == PWR_PVDLEVEL_0) || ((LEVEL) == PWR_PVDLEVEL_1)|| \
384  ((LEVEL) == PWR_PVDLEVEL_2) || ((LEVEL) == PWR_PVDLEVEL_3)|| \
385  ((LEVEL) == PWR_PVDLEVEL_4) || ((LEVEL) == PWR_PVDLEVEL_5)|| \
386  ((LEVEL) == PWR_PVDLEVEL_6) || ((LEVEL) == PWR_PVDLEVEL_7))
387 #define IS_PWR_PVD_MODE(MODE) (((MODE) == PWR_PVD_MODE_IT_RISING)|| ((MODE) == PWR_PVD_MODE_IT_FALLING) || \
388  ((MODE) == PWR_PVD_MODE_IT_RISING_FALLING) || ((MODE) == PWR_PVD_MODE_EVENT_RISING) || \
389  ((MODE) == PWR_PVD_MODE_EVENT_FALLING) || ((MODE) == PWR_PVD_MODE_EVENT_RISING_FALLING) || \
390  ((MODE) == PWR_PVD_MODE_NORMAL))
391 #define IS_PWR_REGULATOR(REGULATOR) (((REGULATOR) == PWR_MAINREGULATOR_ON) || \
392  ((REGULATOR) == PWR_LOWPOWERREGULATOR_ON))
393 #define IS_PWR_SLEEP_ENTRY(ENTRY) (((ENTRY) == PWR_SLEEPENTRY_WFI) || ((ENTRY) == PWR_SLEEPENTRY_WFE))
394 #define IS_PWR_STOP_ENTRY(ENTRY) (((ENTRY) == PWR_STOPENTRY_WFI) || ((ENTRY) == PWR_STOPENTRY_WFE))
395 #define IS_PWR_REGULATOR_VOLTAGE(VOLTAGE) (((VOLTAGE) == PWR_REGULATOR_VOLTAGE_SCALE1) || \
396  ((VOLTAGE) == PWR_REGULATOR_VOLTAGE_SCALE2) || \
397  ((VOLTAGE) == PWR_REGULATOR_VOLTAGE_SCALE3))
398 
415 #ifdef __cplusplus
416 }
417 #endif
418 
419 
420 #endif /* __STM32F7xx_HAL_PWR_H */
421 
422 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
void HAL_PWR_EnableSleepOnExit(void)
void HAL_PWR_DisableWakeUpPin(uint32_t WakeUpPinx)
void HAL_PWR_DisableBkUpAccess(void)
void HAL_PWR_DisableSEVOnPend(void)
void HAL_PWR_DisableSleepOnExit(void)
void HAL_PWR_EnterSTANDBYMode(void)
PWR PVD configuration structure definition.
void HAL_PWR_DisablePVD(void)
void HAL_PWR_EnterSLEEPMode(uint32_t Regulator, uint8_t SLEEPEntry)
void HAL_PWR_EnterSTOPMode(uint32_t Regulator, uint8_t STOPEntry)
void HAL_PWR_EnablePVD(void)
void HAL_PWR_ConfigPVD(PWR_PVDTypeDef *sConfigPVD)
void HAL_PWR_PVDCallback(void)
This file contains HAL common defines, enumeration, macros and structures definitions.
void HAL_PWR_PVD_IRQHandler(void)
Header file of PWR HAL Extension module.
void HAL_PWR_EnableWakeUpPin(uint32_t WakeUpPinPolarity)
void HAL_PWR_EnableBkUpAccess(void)
void HAL_PWR_DeInit(void)
void HAL_PWR_EnableSEVOnPend(void)