20#ifndef STM32H7xx_HAL_PWR_H
21#define STM32H7xx_HAL_PWR_H
72#define PWR_PVDLEVEL_0 PWR_CR1_PLS_LEV0
74#define PWR_PVDLEVEL_1 PWR_CR1_PLS_LEV1
76#define PWR_PVDLEVEL_2 PWR_CR1_PLS_LEV2
78#define PWR_PVDLEVEL_3 PWR_CR1_PLS_LEV3
80#define PWR_PVDLEVEL_4 PWR_CR1_PLS_LEV4
82#define PWR_PVDLEVEL_5 PWR_CR1_PLS_LEV5
84#define PWR_PVDLEVEL_6 PWR_CR1_PLS_LEV6
86#define PWR_PVDLEVEL_7 PWR_CR1_PLS_LEV7
95#define PWR_PVD_MODE_NORMAL (0x00000000U)
96#define PWR_PVD_MODE_IT_RISING (0x00010001U)
97#define PWR_PVD_MODE_IT_FALLING (0x00010002U)
98#define PWR_PVD_MODE_IT_RISING_FALLING (0x00010003U)
99#define PWR_PVD_MODE_EVENT_RISING (0x00020001U)
100#define PWR_PVD_MODE_EVENT_FALLING (0x00020002U)
101#define PWR_PVD_MODE_EVENT_RISING_FALLING (0x00020003U)
109#define PWR_MAINREGULATOR_ON (0U)
110#define PWR_LOWPOWERREGULATOR_ON PWR_CR1_LPDS
118#define PWR_SLEEPENTRY_WFI (0x01U)
119#define PWR_SLEEPENTRY_WFE (0x02U)
127#define PWR_STOPENTRY_WFI (0x01U)
128#define PWR_STOPENTRY_WFE (0x02U)
136#if defined(PWR_SRDCR_VOS)
137#define PWR_REGULATOR_VOLTAGE_SCALE0 (PWR_SRDCR_VOS_1 | PWR_SRDCR_VOS_0)
138#define PWR_REGULATOR_VOLTAGE_SCALE1 (PWR_SRDCR_VOS_1)
139#define PWR_REGULATOR_VOLTAGE_SCALE2 (PWR_SRDCR_VOS_0)
140#define PWR_REGULATOR_VOLTAGE_SCALE3 (0U)
142#define PWR_REGULATOR_VOLTAGE_SCALE0 (0U)
143#define PWR_REGULATOR_VOLTAGE_SCALE1 (PWR_D3CR_VOS_1 | PWR_D3CR_VOS_0)
144#define PWR_REGULATOR_VOLTAGE_SCALE2 (PWR_D3CR_VOS_1)
145#define PWR_REGULATOR_VOLTAGE_SCALE3 (PWR_D3CR_VOS_0)
155#define PWR_FLAG_STOP (0x01U)
156#if defined (PWR_CPUCR_SBF_D2)
157#define PWR_FLAG_SB_D1 (0x02U)
158#define PWR_FLAG_SB_D2 (0x03U)
160#define PWR_FLAG_SB (0x04U)
161#if defined (DUAL_CORE)
162#define PWR_FLAG_CPU_HOLD (0x05U)
163#define PWR_FLAG_CPU2_HOLD (0x06U)
164#define PWR_FLAG2_STOP (0x07U)
165#define PWR_FLAG2_SB_D1 (0x08U)
166#define PWR_FLAG2_SB_D2 (0x09U)
167#define PWR_FLAG2_SB (0x0AU)
169#define PWR_FLAG_PVDO (0x0BU)
170#define PWR_FLAG_AVDO (0x0CU)
171#define PWR_FLAG_ACTVOSRDY (0x0DU)
172#define PWR_FLAG_ACTVOS (0x0EU)
173#define PWR_FLAG_BRR (0x0FU)
174#define PWR_FLAG_VOSRDY (0x10U)
176#define PWR_FLAG_SMPSEXTRDY (0x11U)
178#define PWR_FLAG_SCUEN (0x11U)
180#if defined (PWR_CSR1_MMCVDO)
181#define PWR_FLAG_MMCVDO (0x12U)
183#define PWR_FLAG_USB33RDY (0x13U)
184#define PWR_FLAG_TEMPH (0x14U)
185#define PWR_FLAG_TEMPL (0x15U)
186#define PWR_FLAG_VBATH (0x16U)
187#define PWR_FLAG_VBATL (0x17U)
190#define PWR_FLAG_WKUP1 PWR_WKUPCR_WKUPC1
191#define PWR_FLAG_WKUP2 PWR_WKUPCR_WKUPC2
192#define PWR_FLAG_WKUP3 PWR_WKUPCR_WKUPC3
193#define PWR_FLAG_WKUP4 PWR_WKUPCR_WKUPC4
194#define PWR_FLAG_WKUP5 PWR_WKUPCR_WKUPC5
195#define PWR_FLAG_WKUP6 PWR_WKUPCR_WKUPC6
203#define PWR_EWUP_MASK (0x0FFF3F3FU)
247#if defined (PWR_SRDCR_VOS)
248#define __HAL_PWR_VOLTAGESCALING_CONFIG(__REGULATOR__) \
250 __IO uint32_t tmpreg = 0x00; \
252 MODIFY_REG(PWR->SRDCR, PWR_SRDCR_VOS, (__REGULATOR__)); \
254 tmpreg = READ_BIT(PWR->SRDCR, PWR_SRDCR_VOS); \
258#if defined(SYSCFG_PWRCR_ODEN)
259#define __HAL_PWR_VOLTAGESCALING_CONFIG(__REGULATOR__) \
261 __IO uint32_t tmpreg = 0x00; \
263 if((__REGULATOR__) == PWR_REGULATOR_VOLTAGE_SCALE0) \
266 MODIFY_REG(PWR->D3CR, PWR_D3CR_VOS, PWR_REGULATOR_VOLTAGE_SCALE1); \
268 tmpreg = READ_BIT(PWR->D3CR, PWR_D3CR_VOS); \
270 SET_BIT(SYSCFG->PWRCR, SYSCFG_PWRCR_ODEN); \
272 tmpreg = READ_BIT(SYSCFG->PWRCR, SYSCFG_PWRCR_ODEN); \
277 CLEAR_BIT(SYSCFG->PWRCR, SYSCFG_PWRCR_ODEN); \
279 tmpreg = READ_BIT(SYSCFG->PWRCR, SYSCFG_PWRCR_ODEN); \
281 MODIFY_REG(PWR->D3CR, PWR_D3CR_VOS, (__REGULATOR__)); \
283 tmpreg = READ_BIT(PWR->D3CR, PWR_D3CR_VOS); \
288#define __HAL_PWR_VOLTAGESCALING_CONFIG(__REGULATOR__) \
290 __IO uint32_t tmpreg = 0x00; \
292 MODIFY_REG (PWR->D3CR, PWR_D3CR_VOS, (__REGULATOR__)); \
294 tmpreg = READ_BIT(PWR->D3CR, PWR_D3CR_VOS); \
377#if defined (DUAL_CORE)
378#define __HAL_PWR_GET_FLAG(__FLAG__) \
379(((__FLAG__) == PWR_FLAG_PVDO) ? ((PWR->CSR1 & PWR_CSR1_PVDO) == PWR_CSR1_PVDO) :\
380 ((__FLAG__) == PWR_FLAG_AVDO) ? ((PWR->CSR1 & PWR_CSR1_AVDO) == PWR_CSR1_AVDO) :\
381 ((__FLAG__) == PWR_FLAG_ACTVOSRDY) ? ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == PWR_CSR1_ACTVOSRDY) :\
382 ((__FLAG__) == PWR_FLAG_VOSRDY) ? ((PWR->D3CR & PWR_D3CR_VOSRDY) == PWR_D3CR_VOSRDY) :\
383 ((__FLAG__) == PWR_FLAG_SMPSEXTRDY) ? ((PWR->CR3 & PWR_CR3_SMPSEXTRDY) == PWR_CR3_SMPSEXTRDY) :\
384 ((__FLAG__) == PWR_FLAG_BRR) ? ((PWR->CR2 & PWR_CR2_BRRDY) == PWR_CR2_BRRDY) :\
385 ((__FLAG__) == PWR_FLAG_CPU_HOLD) ? ((PWR->CPU2CR & PWR_CPU2CR_HOLD1F) == PWR_CPU2CR_HOLD1F) :\
386 ((__FLAG__) == PWR_FLAG_CPU2_HOLD) ? ((PWR->CPUCR & PWR_CPUCR_HOLD2F) == PWR_CPUCR_HOLD2F) :\
387 ((__FLAG__) == PWR_FLAG_SB) ? ((PWR->CPUCR & PWR_CPUCR_SBF) == PWR_CPUCR_SBF) :\
388 ((__FLAG__) == PWR_FLAG2_SB) ? ((PWR->CPU2CR & PWR_CPU2CR_SBF) == PWR_CPU2CR_SBF) :\
389 ((__FLAG__) == PWR_FLAG_STOP) ? ((PWR->CPUCR & PWR_CPUCR_STOPF) == PWR_CPUCR_STOPF) :\
390 ((__FLAG__) == PWR_FLAG2_STOP) ? ((PWR->CPU2CR & PWR_CPU2CR_STOPF) == PWR_CPU2CR_STOPF) :\
391 ((__FLAG__) == PWR_FLAG_SB_D1) ? ((PWR->CPUCR & PWR_CPUCR_SBF_D1) == PWR_CPUCR_SBF_D1) :\
392 ((__FLAG__) == PWR_FLAG2_SB_D1) ? ((PWR->CPU2CR & PWR_CPU2CR_SBF_D1) == PWR_CPU2CR_SBF_D1) :\
393 ((__FLAG__) == PWR_FLAG_SB_D2) ? ((PWR->CPUCR & PWR_CPUCR_SBF_D2) == PWR_CPUCR_SBF_D2) :\
394 ((__FLAG__) == PWR_FLAG2_SB_D2) ? ((PWR->CPU2CR & PWR_CPU2CR_SBF_D2) == PWR_CPU2CR_SBF_D2) :\
395 ((__FLAG__) == PWR_FLAG_USB33RDY) ? ((PWR->CR3 & PWR_CR3_USB33RDY) == PWR_CR3_USB33RDY) :\
396 ((__FLAG__) == PWR_FLAG_TEMPH) ? ((PWR->CR2 & PWR_CR2_TEMPH) == PWR_CR2_TEMPH) :\
397 ((__FLAG__) == PWR_FLAG_TEMPL) ? ((PWR->CR2 & PWR_CR2_TEMPL) == PWR_CR2_TEMPL) :\
398 ((__FLAG__) == PWR_FLAG_VBATH) ? ((PWR->CR2 & PWR_CR2_VBATH) == PWR_CR2_VBATH) :\
399 ((PWR->CR2 & PWR_CR2_VBATL) == PWR_CR2_VBATL))
401#if defined (PWR_CPUCR_SBF_D2)
403#define __HAL_PWR_GET_FLAG(__FLAG__) \
404(((__FLAG__) == PWR_FLAG_PVDO) ? ((PWR->CSR1 & PWR_CSR1_PVDO) == PWR_CSR1_PVDO) :\
405 ((__FLAG__) == PWR_FLAG_AVDO) ? ((PWR->CSR1 & PWR_CSR1_AVDO) == PWR_CSR1_AVDO) :\
406 ((__FLAG__) == PWR_FLAG_ACTVOSRDY) ? ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == PWR_CSR1_ACTVOSRDY) :\
407 ((__FLAG__) == PWR_FLAG_VOSRDY) ? ((PWR->D3CR & PWR_D3CR_VOSRDY) == PWR_D3CR_VOSRDY) :\
408 ((__FLAG__) == PWR_FLAG_SMPSEXTRDY) ? ((PWR->CR3 & PWR_FLAG_SMPSEXTRDY) == PWR_FLAG_SMPSEXTRDY) :\
409 ((__FLAG__) == PWR_FLAG_BRR) ? ((PWR->CR2 & PWR_CR2_BRRDY) == PWR_CR2_BRRDY) :\
410 ((__FLAG__) == PWR_FLAG_SB) ? ((PWR->CPUCR & PWR_CPUCR_SBF) == PWR_CPUCR_SBF) :\
411 ((__FLAG__) == PWR_FLAG_STOP) ? ((PWR->CPUCR & PWR_CPUCR_STOPF) == PWR_CPUCR_STOPF) :\
412 ((__FLAG__) == PWR_FLAG_SB_D1) ? ((PWR->CPUCR & PWR_CPUCR_SBF_D1) == PWR_CPUCR_SBF_D1) :\
413 ((__FLAG__) == PWR_FLAG_SB_D2) ? ((PWR->CPUCR & PWR_CPUCR_SBF_D2) == PWR_CPUCR_SBF_D2) :\
414 ((__FLAG__) == PWR_FLAG_USB33RDY) ? ((PWR->CR3 & PWR_CR3_USB33RDY) == PWR_CR3_USB33RDY) :\
415 ((__FLAG__) == PWR_FLAG_TEMPH) ? ((PWR->CR2 & PWR_CR2_TEMPH) == PWR_CR2_TEMPH) :\
416 ((__FLAG__) == PWR_FLAG_TEMPL) ? ((PWR->CR2 & PWR_CR2_TEMPL) == PWR_CR2_TEMPL) :\
417 ((__FLAG__) == PWR_FLAG_VBATH) ? ((PWR->CR2 & PWR_CR2_VBATH) == PWR_CR2_VBATH) :\
418 ((PWR->CR2 & PWR_CR2_VBATL) == PWR_CR2_VBATL))
420#define __HAL_PWR_GET_FLAG(__FLAG__) \
421(((__FLAG__) == PWR_FLAG_PVDO) ? ((PWR->CSR1 & PWR_CSR1_PVDO) == PWR_CSR1_PVDO) :\
422 ((__FLAG__) == PWR_FLAG_AVDO) ? ((PWR->CSR1 & PWR_CSR1_AVDO) == PWR_CSR1_AVDO) :\
423 ((__FLAG__) == PWR_FLAG_ACTVOSRDY) ? ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == PWR_CSR1_ACTVOSRDY) :\
424 ((__FLAG__) == PWR_FLAG_VOSRDY) ? ((PWR->D3CR & PWR_D3CR_VOSRDY) == PWR_D3CR_VOSRDY) :\
425 ((__FLAG__) == PWR_FLAG_SCUEN) ? ((PWR->CR3 & PWR_CR3_SCUEN) == PWR_CR3_SCUEN) :\
426 ((__FLAG__) == PWR_FLAG_BRR) ? ((PWR->CR2 & PWR_CR2_BRRDY) == PWR_CR2_BRRDY) :\
427 ((__FLAG__) == PWR_FLAG_SB) ? ((PWR->CPUCR & PWR_CPUCR_SBF) == PWR_CPUCR_SBF) :\
428 ((__FLAG__) == PWR_FLAG_STOP) ? ((PWR->CPUCR & PWR_CPUCR_STOPF) == PWR_CPUCR_STOPF) :\
429 ((__FLAG__) == PWR_FLAG_SB_D1) ? ((PWR->CPUCR & PWR_CPUCR_SBF_D1) == PWR_CPUCR_SBF_D1) :\
430 ((__FLAG__) == PWR_FLAG_SB_D2) ? ((PWR->CPUCR & PWR_CPUCR_SBF_D2) == PWR_CPUCR_SBF_D2) :\
431 ((__FLAG__) == PWR_FLAG_USB33RDY) ? ((PWR->CR3 & PWR_CR3_USB33RDY) == PWR_CR3_USB33RDY) :\
432 ((__FLAG__) == PWR_FLAG_TEMPH) ? ((PWR->CR2 & PWR_CR2_TEMPH) == PWR_CR2_TEMPH) :\
433 ((__FLAG__) == PWR_FLAG_TEMPL) ? ((PWR->CR2 & PWR_CR2_TEMPL) == PWR_CR2_TEMPL) :\
434 ((__FLAG__) == PWR_FLAG_VBATH) ? ((PWR->CR2 & PWR_CR2_VBATH) == PWR_CR2_VBATH) :\
435 ((PWR->CR2 & PWR_CR2_VBATL) == PWR_CR2_VBATL))
439#define __HAL_PWR_GET_FLAG(__FLAG__) \
440(((__FLAG__) == PWR_FLAG_PVDO) ? ((PWR->CSR1 & PWR_CSR1_PVDO) == PWR_CSR1_PVDO) :\
441 ((__FLAG__) == PWR_FLAG_AVDO) ? ((PWR->CSR1 & PWR_CSR1_AVDO) == PWR_CSR1_AVDO) :\
442 ((__FLAG__) == PWR_FLAG_ACTVOSRDY) ? ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == PWR_CSR1_ACTVOSRDY) :\
443 ((__FLAG__) == PWR_FLAG_BRR) ? ((PWR->CR2 & PWR_CR2_BRRDY) == PWR_CR2_BRRDY) :\
444 ((__FLAG__) == PWR_FLAG_VOSRDY) ? ((PWR->SRDCR & PWR_SRDCR_VOSRDY) == PWR_SRDCR_VOSRDY) :\
445 ((__FLAG__) == PWR_FLAG_STOP) ? ((PWR->CPUCR & PWR_CPUCR_STOPF) == PWR_CPUCR_STOPF) :\
446 ((__FLAG__) == PWR_FLAG_SB) ? ((PWR->CPUCR & PWR_CPUCR_SBF) == PWR_CPUCR_SBF) :\
447 ((__FLAG__) == PWR_FLAG_MMCVDO) ? ((PWR->CSR1 & PWR_CSR1_MMCVDO) == PWR_CSR1_MMCVDO) :\
448 ((__FLAG__) == PWR_FLAG_SMPSEXTRDY) ? ((PWR->CR3 & PWR_CR3_SMPSEXTRDY) == PWR_CR3_SMPSEXTRDY) :\
449 ((__FLAG__) == PWR_FLAG_USB33RDY) ? ((PWR->CR3 & PWR_CR3_USB33RDY) == PWR_CR3_USB33RDY) :\
450 ((__FLAG__) == PWR_FLAG_TEMPH) ? ((PWR->CR2 & PWR_CR2_TEMPH) == PWR_CR2_TEMPH) :\
451 ((__FLAG__) == PWR_FLAG_TEMPL) ? ((PWR->CR2 & PWR_CR2_TEMPL) == PWR_CR2_TEMPL) :\
452 ((__FLAG__) == PWR_FLAG_VBATH) ? ((PWR->CR2 & PWR_CR2_VBATH) == PWR_CR2_VBATH) :\
453 ((PWR->CR2 & PWR_CR2_VBATL) == PWR_CR2_VBATL))
455#define __HAL_PWR_GET_FLAG(__FLAG__) \
456(((__FLAG__) == PWR_FLAG_PVDO) ? ((PWR->CSR1 & PWR_CSR1_PVDO) == PWR_CSR1_PVDO) :\
457 ((__FLAG__) == PWR_FLAG_AVDO) ? ((PWR->CSR1 & PWR_CSR1_AVDO) == PWR_CSR1_AVDO) :\
458 ((__FLAG__) == PWR_FLAG_ACTVOSRDY) ? ((PWR->CSR1 & PWR_CSR1_ACTVOSRDY) == PWR_CSR1_ACTVOSRDY) :\
459 ((__FLAG__) == PWR_FLAG_BRR) ? ((PWR->CR2 & PWR_CR2_BRRDY) == PWR_CR2_BRRDY) :\
460 ((__FLAG__) == PWR_FLAG_VOSRDY) ? ((PWR->SRDCR & PWR_SRDCR_VOSRDY) == PWR_SRDCR_VOSRDY) :\
461 ((__FLAG__) == PWR_FLAG_SCUEN) ? ((PWR->CR3 & PWR_CR3_SCUEN) == PWR_CR3_SCUEN) :\
462 ((__FLAG__) == PWR_FLAG_STOP) ? ((PWR->CPUCR & PWR_CPUCR_STOPF) == PWR_CPUCR_STOPF) :\
463 ((__FLAG__) == PWR_FLAG_SB) ? ((PWR->CPUCR & PWR_CPUCR_SBF) == PWR_CPUCR_SBF) :\
464 ((__FLAG__) == PWR_FLAG_MMCVDO) ? ((PWR->CSR1 & PWR_CSR1_MMCVDO) == PWR_CSR1_MMCVDO) :\
465 ((__FLAG__) == PWR_FLAG_USB33RDY) ? ((PWR->CR3 & PWR_CR3_USB33RDY) == PWR_CR3_USB33RDY) :\
466 ((__FLAG__) == PWR_FLAG_TEMPH) ? ((PWR->CR2 & PWR_CR2_TEMPH) == PWR_CR2_TEMPH) :\
467 ((__FLAG__) == PWR_FLAG_TEMPL) ? ((PWR->CR2 & PWR_CR2_TEMPL) == PWR_CR2_TEMPL) :\
468 ((__FLAG__) == PWR_FLAG_VBATH) ? ((PWR->CR2 & PWR_CR2_VBATH) == PWR_CR2_VBATH) :\
469 ((PWR->CR2 & PWR_CR2_VBATL) == PWR_CR2_VBATL))
487#define __HAL_PWR_GET_WAKEUPFLAG(__FLAG__) ((PWR->WKUPFR & (__FLAG__)) ? 0 : 1)
489#if defined (DUAL_CORE)
500#define __HAL_PWR_CLEAR_FLAG(__FLAG__) \
502 SET_BIT(PWR->CPUCR, PWR_CPUCR_CSSF); \
503 SET_BIT(PWR->CPU2CR, PWR_CPU2CR_CSSF); \
516#define __HAL_PWR_CLEAR_FLAG(__FLAG__) SET_BIT(PWR->CPUCR, PWR_CPUCR_CSSF)
532#define __HAL_PWR_CLEAR_WAKEUPFLAG(__FLAG__) SET_BIT(PWR->WKUPCR, (__FLAG__))
538#define __HAL_PWR_PVD_EXTI_ENABLE_IT() SET_BIT(EXTI->IMR1, PWR_EXTI_LINE_PVD)
540#if defined (DUAL_CORE)
545#define __HAL_PWR_PVD_EXTID2_ENABLE_IT() SET_BIT(EXTI_D2->IMR1, PWR_EXTI_LINE_PVD)
552#define __HAL_PWR_PVD_EXTI_DISABLE_IT() CLEAR_BIT(EXTI->IMR1, PWR_EXTI_LINE_PVD)
554#if defined (DUAL_CORE)
559#define __HAL_PWR_PVD_EXTID2_DISABLE_IT() CLEAR_BIT(EXTI_D2->IMR1, PWR_EXTI_LINE_PVD)
566#define __HAL_PWR_PVD_EXTI_ENABLE_EVENT() SET_BIT(EXTI->EMR1, PWR_EXTI_LINE_PVD)
568#if defined (DUAL_CORE)
573#define __HAL_PWR_PVD_EXTID2_ENABLE_EVENT() SET_BIT(EXTI_D2->EMR1, PWR_EXTI_LINE_PVD)
580#define __HAL_PWR_PVD_EXTI_DISABLE_EVENT() CLEAR_BIT(EXTI->EMR1, PWR_EXTI_LINE_PVD)
582#if defined (DUAL_CORE)
587#define __HAL_PWR_PVD_EXTID2_DISABLE_EVENT() CLEAR_BIT(EXTI_D2->EMR1, PWR_EXTI_LINE_PVD)
594#define __HAL_PWR_PVD_EXTI_ENABLE_RISING_EDGE() SET_BIT(EXTI->RTSR1, PWR_EXTI_LINE_PVD)
600#define __HAL_PWR_PVD_EXTI_DISABLE_RISING_EDGE() CLEAR_BIT(EXTI->RTSR1, PWR_EXTI_LINE_PVD)
606#define __HAL_PWR_PVD_EXTI_ENABLE_FALLING_EDGE() SET_BIT(EXTI->FTSR1, PWR_EXTI_LINE_PVD)
612#define __HAL_PWR_PVD_EXTI_DISABLE_FALLING_EDGE() CLEAR_BIT(EXTI->FTSR1, PWR_EXTI_LINE_PVD)
618#define __HAL_PWR_PVD_EXTI_ENABLE_RISING_FALLING_EDGE() \
620 __HAL_PWR_PVD_EXTI_ENABLE_RISING_EDGE(); \
621 __HAL_PWR_PVD_EXTI_ENABLE_FALLING_EDGE(); \
628#define __HAL_PWR_PVD_EXTI_DISABLE_RISING_FALLING_EDGE() \
630 __HAL_PWR_PVD_EXTI_DISABLE_RISING_EDGE(); \
631 __HAL_PWR_PVD_EXTI_DISABLE_FALLING_EDGE(); \
638#define __HAL_PWR_PVD_EXTI_GET_FLAG() ((READ_BIT(EXTI->PR1, PWR_EXTI_LINE_PVD) == PWR_EXTI_LINE_PVD) ? 1UL : 0UL)
640#if defined (DUAL_CORE)
645#define __HAL_PWR_PVD_EXTID2_GET_FLAG() ((READ_BIT(EXTI_D2->PR1, PWR_EXTI_LINE_PVD) == PWR_EXTI_LINE_PVD) ? 1UL : 0UL)
652#define __HAL_PWR_PVD_EXTI_CLEAR_FLAG() SET_BIT(EXTI->PR1, PWR_EXTI_LINE_PVD)
654#if defined (DUAL_CORE)
659#define __HAL_PWR_PVD_EXTID2_CLEAR_FLAG() SET_BIT(EXTI_D2->PR1, PWR_EXTI_LINE_PVD)
666#define __HAL_PWR_PVD_EXTI_GENERATE_SWIT() SET_BIT(EXTI->SWIER1, PWR_EXTI_LINE_PVD)
735#define PWR_EXTI_LINE_PVD EXTI_IMR1_IM16
753#define IS_PWR_PVD_LEVEL(LEVEL) (((LEVEL) == PWR_PVDLEVEL_0) ||\
754 ((LEVEL) == PWR_PVDLEVEL_1) ||\
755 ((LEVEL) == PWR_PVDLEVEL_2) ||\
756 ((LEVEL) == PWR_PVDLEVEL_3) ||\
757 ((LEVEL) == PWR_PVDLEVEL_4) ||\
758 ((LEVEL) == PWR_PVDLEVEL_5) ||\
759 ((LEVEL) == PWR_PVDLEVEL_6) ||\
760 ((LEVEL) == PWR_PVDLEVEL_7))
763#define IS_PWR_PVD_MODE(MODE) (((MODE) == PWR_PVD_MODE_IT_RISING) ||\
764 ((MODE) == PWR_PVD_MODE_IT_FALLING) ||\
765 ((MODE) == PWR_PVD_MODE_IT_RISING_FALLING) ||\
766 ((MODE) == PWR_PVD_MODE_EVENT_RISING) ||\
767 ((MODE) == PWR_PVD_MODE_EVENT_FALLING) ||\
768 ((MODE) == PWR_PVD_MODE_EVENT_RISING_FALLING) ||\
769 ((MODE) == PWR_PVD_MODE_NORMAL))
772#define IS_PWR_REGULATOR(REGULATOR) (((REGULATOR) == PWR_MAINREGULATOR_ON) ||\
773 ((REGULATOR) == PWR_LOWPOWERREGULATOR_ON))
776#define IS_PWR_SLEEP_ENTRY(ENTRY) (((ENTRY) == PWR_SLEEPENTRY_WFI) ||\
777 ((ENTRY) == PWR_SLEEPENTRY_WFE))
780#define IS_PWR_STOP_ENTRY(ENTRY) (((ENTRY) == PWR_STOPENTRY_WFI) ||\
781 ((ENTRY) == PWR_STOPENTRY_WFE))
784#define IS_PWR_REGULATOR_VOLTAGE(VOLTAGE) (((VOLTAGE) == PWR_REGULATOR_VOLTAGE_SCALE0) || \
785 ((VOLTAGE) == PWR_REGULATOR_VOLTAGE_SCALE1) || \
786 ((VOLTAGE) == PWR_REGULATOR_VOLTAGE_SCALE2) || \
787 ((VOLTAGE) == PWR_REGULATOR_VOLTAGE_SCALE3))
void HAL_PWR_DisableBkUpAccess(void)
void HAL_PWR_EnableBkUpAccess(void)
void HAL_PWR_DeInit(void)
void HAL_PWR_DisableSleepOnExit(void)
void HAL_PWR_DisablePVD(void)
void HAL_PWR_EnterSTANDBYMode(void)
void HAL_PWR_EnterSLEEPMode(uint32_t Regulator, uint8_t SLEEPEntry)
void HAL_PWR_EnableSEVOnPend(void)
void HAL_PWR_EnablePVD(void)
void HAL_PWR_DisableSEVOnPend(void)
void HAL_PWR_EnableSleepOnExit(void)
void HAL_PWR_PVDCallback(void)
void HAL_PWR_DisableWakeUpPin(uint32_t WakeUpPinx)
void HAL_PWR_EnableWakeUpPin(uint32_t WakeUpPinPolarity)
void HAL_PWR_EnterSTOPMode(uint32_t Regulator, uint8_t STOPEntry)
void HAL_PWR_PVD_IRQHandler(void)
void HAL_PWR_ConfigPVD(const PWR_PVDTypeDef *sConfigPVD)
This file contains HAL common defines, enumeration, macros and structures definitions.
Header file of PWR HAL Extension module.
PWR PVD configuration structure definition.
uint32_t PVDLevel
PVDLevel: Specifies the PVD detection level.
uint32_t Mode
Mode: Specifies the EXTI operating mode for the PVD event.