STM32L4xx_HAL_Driver  1.14.0
stm32l4xx_hal_pwr.h
Go to the documentation of this file.
1 
20 /* Define to prevent recursive inclusion -------------------------------------*/
21 #ifndef __STM32L4xx_HAL_PWR_H
22 #define __STM32L4xx_HAL_PWR_H
23 
24 #ifdef __cplusplus
25  extern "C" {
26 #endif
27 
28 /* Includes ------------------------------------------------------------------*/
29 #include "stm32l4xx_hal_def.h"
30 
39 /* Exported types ------------------------------------------------------------*/
40 
48 typedef struct
49 {
50  uint32_t PVDLevel;
53  uint32_t Mode;
55 }PWR_PVDTypeDef;
56 
57 
62 /* Exported constants --------------------------------------------------------*/
63 
72 #define PWR_PVDLEVEL_0 PWR_CR2_PLS_LEV0
73 #define PWR_PVDLEVEL_1 PWR_CR2_PLS_LEV1
74 #define PWR_PVDLEVEL_2 PWR_CR2_PLS_LEV2
75 #define PWR_PVDLEVEL_3 PWR_CR2_PLS_LEV3
76 #define PWR_PVDLEVEL_4 PWR_CR2_PLS_LEV4
77 #define PWR_PVDLEVEL_5 PWR_CR2_PLS_LEV5
78 #define PWR_PVDLEVEL_6 PWR_CR2_PLS_LEV6
79 #define PWR_PVDLEVEL_7 PWR_CR2_PLS_LEV7
87 #define PWR_PVD_MODE_NORMAL ((uint32_t)0x00000000)
88 #define PWR_PVD_MODE_IT_RISING ((uint32_t)0x00010001)
89 #define PWR_PVD_MODE_IT_FALLING ((uint32_t)0x00010002)
90 #define PWR_PVD_MODE_IT_RISING_FALLING ((uint32_t)0x00010003)
91 #define PWR_PVD_MODE_EVENT_RISING ((uint32_t)0x00020001)
92 #define PWR_PVD_MODE_EVENT_FALLING ((uint32_t)0x00020002)
93 #define PWR_PVD_MODE_EVENT_RISING_FALLING ((uint32_t)0x00020003)
104 #define PWR_MAINREGULATOR_ON ((uint32_t)0x00000000)
105 #define PWR_LOWPOWERREGULATOR_ON PWR_CR1_LPR
113 #define PWR_SLEEPENTRY_WFI ((uint8_t)0x01)
114 #define PWR_SLEEPENTRY_WFE ((uint8_t)0x02)
122 #define PWR_STOPENTRY_WFI ((uint8_t)0x01)
123 #define PWR_STOPENTRY_WFE ((uint8_t)0x02)
132 #define PWR_EXTI_LINE_PVD ((uint32_t)0x00010000)
140 #define PWR_EVENT_LINE_PVD ((uint32_t)0x00010000)
149 /* Exported macros -----------------------------------------------------------*/
150 
195 #define __HAL_PWR_GET_FLAG(__FLAG__) ( ((((uint8_t)(__FLAG__)) >> 5U) == 1) ?\
196  (PWR->SR1 & (1U << ((__FLAG__) & 31U))) :\
197  (PWR->SR2 & (1U << ((__FLAG__) & 31U))) )
198 
217 #define __HAL_PWR_CLEAR_FLAG(__FLAG__) ( (((uint8_t)(__FLAG__)) == PWR_FLAG_WU) ?\
218  (PWR->SCR = (__FLAG__)) :\
219  (PWR->SCR = (1U << ((__FLAG__) & 31U))) )
220 
224 #define __HAL_PWR_PVD_EXTI_ENABLE_IT() SET_BIT(EXTI->IMR1, PWR_EXTI_LINE_PVD)
225 
230 #define __HAL_PWR_PVD_EXTI_DISABLE_IT() CLEAR_BIT(EXTI->IMR1, PWR_EXTI_LINE_PVD)
231 
236 #define __HAL_PWR_PVD_EXTI_ENABLE_EVENT() SET_BIT(EXTI->EMR1, PWR_EVENT_LINE_PVD)
237 
242 #define __HAL_PWR_PVD_EXTI_DISABLE_EVENT() CLEAR_BIT(EXTI->EMR1, PWR_EVENT_LINE_PVD)
243 
248 #define __HAL_PWR_PVD_EXTI_ENABLE_RISING_EDGE() SET_BIT(EXTI->RTSR1, PWR_EXTI_LINE_PVD)
249 
254 #define __HAL_PWR_PVD_EXTI_DISABLE_RISING_EDGE() CLEAR_BIT(EXTI->RTSR1, PWR_EXTI_LINE_PVD)
255 
260 #define __HAL_PWR_PVD_EXTI_ENABLE_FALLING_EDGE() SET_BIT(EXTI->FTSR1, PWR_EXTI_LINE_PVD)
261 
262 
267 #define __HAL_PWR_PVD_EXTI_DISABLE_FALLING_EDGE() CLEAR_BIT(EXTI->FTSR1, PWR_EXTI_LINE_PVD)
268 
269 
274 #define __HAL_PWR_PVD_EXTI_ENABLE_RISING_FALLING_EDGE() \
275  do { \
276  __HAL_PWR_PVD_EXTI_ENABLE_RISING_EDGE(); \
277  __HAL_PWR_PVD_EXTI_ENABLE_FALLING_EDGE(); \
278  } while(0)
279 
284 #define __HAL_PWR_PVD_EXTI_DISABLE_RISING_FALLING_EDGE() \
285  do { \
286  __HAL_PWR_PVD_EXTI_DISABLE_RISING_EDGE(); \
287  __HAL_PWR_PVD_EXTI_DISABLE_FALLING_EDGE(); \
288  } while(0)
289 
294 #define __HAL_PWR_PVD_EXTI_GENERATE_SWIT() SET_BIT(EXTI->SWIER1, PWR_EXTI_LINE_PVD)
295 
300 #define __HAL_PWR_PVD_EXTI_GET_FLAG() (EXTI->PR1 & PWR_EXTI_LINE_PVD)
301 
306 #define __HAL_PWR_PVD_EXTI_CLEAR_FLAG() WRITE_REG(EXTI->PR1, PWR_EXTI_LINE_PVD)
307 
313 /* Private macros --------------------------------------------------------*/
318 #define IS_PWR_PVD_LEVEL(LEVEL) (((LEVEL) == PWR_PVDLEVEL_0) || ((LEVEL) == PWR_PVDLEVEL_1)|| \
319  ((LEVEL) == PWR_PVDLEVEL_2) || ((LEVEL) == PWR_PVDLEVEL_3)|| \
320  ((LEVEL) == PWR_PVDLEVEL_4) || ((LEVEL) == PWR_PVDLEVEL_5)|| \
321  ((LEVEL) == PWR_PVDLEVEL_6) || ((LEVEL) == PWR_PVDLEVEL_7))
322 
323 #define IS_PWR_PVD_MODE(MODE) (((MODE) == PWR_PVD_MODE_NORMAL) ||\
324  ((MODE) == PWR_PVD_MODE_IT_RISING) ||\
325  ((MODE) == PWR_PVD_MODE_IT_FALLING) ||\
326  ((MODE) == PWR_PVD_MODE_IT_RISING_FALLING) ||\
327  ((MODE) == PWR_PVD_MODE_EVENT_RISING) ||\
328  ((MODE) == PWR_PVD_MODE_EVENT_FALLING) ||\
329  ((MODE) == PWR_PVD_MODE_EVENT_RISING_FALLING))
330 
331 #define IS_PWR_REGULATOR(REGULATOR) (((REGULATOR) == PWR_MAINREGULATOR_ON) || \
332  ((REGULATOR) == PWR_LOWPOWERREGULATOR_ON))
333 
334 #define IS_PWR_SLEEP_ENTRY(ENTRY) (((ENTRY) == PWR_SLEEPENTRY_WFI) || ((ENTRY) == PWR_SLEEPENTRY_WFE))
335 
336 #define IS_PWR_STOP_ENTRY(ENTRY) (((ENTRY) == PWR_STOPENTRY_WFI) || ((ENTRY) == PWR_STOPENTRY_WFE) )
337 
342 /* Include PWR HAL Extended module */
343 #include "stm32l4xx_hal_pwr_ex.h"
344 
345 /* Exported functions --------------------------------------------------------*/
346 
355 /* Initialization and de-initialization functions *******************************/
356 void HAL_PWR_DeInit(void);
357 void HAL_PWR_EnableBkUpAccess(void);
358 void HAL_PWR_DisableBkUpAccess(void);
359 
368 /* Peripheral Control functions ************************************************/
369 HAL_StatusTypeDef HAL_PWR_ConfigPVD(PWR_PVDTypeDef *sConfigPVD);
370 void HAL_PWR_EnablePVD(void);
371 void HAL_PWR_DisablePVD(void);
372 
373 
374 /* WakeUp pins configuration functions ****************************************/
375 void HAL_PWR_EnableWakeUpPin(uint32_t WakeUpPinPolarity);
376 void HAL_PWR_DisableWakeUpPin(uint32_t WakeUpPinx);
377 
378 /* Low Power modes configuration functions ************************************/
379 void HAL_PWR_EnterSLEEPMode(uint32_t Regulator, uint8_t SLEEPEntry);
380 void HAL_PWR_EnterSTOPMode(uint32_t Regulator, uint8_t STOPEntry);
381 void HAL_PWR_EnterSTANDBYMode(void);
382 
383 void HAL_PWR_EnableSleepOnExit(void);
384 void HAL_PWR_DisableSleepOnExit(void);
385 void HAL_PWR_EnableSEVOnPend(void);
386 void HAL_PWR_DisableSEVOnPend(void);
387 
388 void HAL_PWR_PVDCallback(void);
389 
390 
407 #ifdef __cplusplus
408 }
409 #endif
410 
411 
412 #endif /* __STM32L4xx_HAL_PWR_H */
413 
414 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
void HAL_PWR_EnablePVD(void)
Enable the Power Voltage Detector (PVD).
void HAL_PWR_EnterSTANDBYMode(void)
Enter Standby mode.
void HAL_PWR_DisableSEVOnPend(void)
Disable CORTEX M4 SEVONPEND bit.
This file contains HAL common defines, enumeration, macros and structures definitions.
void HAL_PWR_DisableBkUpAccess(void)
Disable access to the backup domain (RTC registers, RTC backup data registers).
void HAL_PWR_EnableSleepOnExit(void)
Indicate Sleep-On-Exit when returning from Handler mode to Thread mode.
void HAL_PWR_EnableBkUpAccess(void)
Enable access to the backup domain (RTC registers, RTC backup data registers).
HAL_StatusTypeDef HAL_PWR_ConfigPVD(PWR_PVDTypeDef *sConfigPVD)
Configure the voltage threshold detected by the Power Voltage Detector (PVD).
void HAL_PWR_DeInit(void)
Deinitialize the HAL PWR peripheral registers to their default reset values.
Header file of PWR HAL Extended module.
void HAL_PWR_EnableSEVOnPend(void)
Enable CORTEX M4 SEVONPEND bit.
void HAL_PWR_DisableWakeUpPin(uint32_t WakeUpPinx)
Disable the WakeUp PINx functionality.
void HAL_PWR_EnableWakeUpPin(uint32_t WakeUpPinPolarity)
Enable the WakeUp PINx functionality.
void HAL_PWR_DisablePVD(void)
Disable the Power Voltage Detector (PVD).
void HAL_PWR_EnterSTOPMode(uint32_t Regulator, uint8_t STOPEntry)
Enter Stop mode.
void HAL_PWR_DisableSleepOnExit(void)
Disable Sleep-On-Exit feature when returning from Handler mode to Thread mode.
void HAL_PWR_EnterSLEEPMode(uint32_t Regulator, uint8_t SLEEPEntry)
Enter Sleep or Low-power Sleep mode.
void HAL_PWR_PVDCallback(void)
PWR PVD interrupt callback.