| /** |
| ****************************************************************************** |
| * @file stm32f3xx_hal_pwr.h |
| * @author MCD Application Team |
| * @brief Header file of PWR HAL module. |
| ****************************************************************************** |
| * @attention |
| * |
| * Copyright (c) 2016 STMicroelectronics. |
| * All rights reserved. |
| * |
| * This software is licensed under terms that can be found in the LICENSE file |
| * in the root directory of this software component. |
| * If no LICENSE file comes with this software, it is provided AS-IS. |
| * |
| ****************************************************************************** |
| */ |
| |
| /* Define to prevent recursive inclusion -------------------------------------*/ |
| #ifndef __STM32F3xx_HAL_PWR_H |
| #define __STM32F3xx_HAL_PWR_H |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /* Includes ------------------------------------------------------------------*/ |
| #include "stm32f3xx_hal_def.h" |
| |
| /** @addtogroup STM32F3xx_HAL_Driver |
| * @{ |
| */ |
| |
| /** @addtogroup PWR PWR |
| * @{ |
| */ |
| |
| /* Exported types ------------------------------------------------------------*/ |
| /* Exported constants --------------------------------------------------------*/ |
| /** @defgroup PWR_Exported_Constants PWR Exported Constants |
| * @{ |
| */ |
| |
| /** @defgroup PWR_WakeUp_Pins PWR WakeUp Pins |
| * @{ |
| */ |
| |
| #define PWR_WAKEUP_PIN1 ((uint32_t)PWR_CSR_EWUP1) /*!< Wakeup pin 1U */ |
| #define PWR_WAKEUP_PIN2 ((uint32_t)PWR_CSR_EWUP2) /*!< Wakeup pin 2U */ |
| #define PWR_WAKEUP_PIN3 ((uint32_t)PWR_CSR_EWUP3) /*!< Wakeup pin 3U */ |
| /** |
| * @} |
| */ |
| |
| /** @defgroup PWR_Regulator_state_in_STOP_mode PWR Regulator state in STOP mode |
| * @{ |
| */ |
| #define PWR_MAINREGULATOR_ON (0x00000000U) /*!< Voltage regulator on during STOP mode */ |
| #define PWR_LOWPOWERREGULATOR_ON PWR_CR_LPDS /*!< Voltage regulator in low-power mode during STOP mode */ |
| /** |
| * @} |
| */ |
| |
| /** @defgroup PWR_SLEEP_mode_entry PWR SLEEP mode entry |
| * @{ |
| */ |
| #define PWR_SLEEPENTRY_WFI ((uint8_t)0x01U) /*!< Wait For Interruption instruction to enter SLEEP mode */ |
| #define PWR_SLEEPENTRY_WFE ((uint8_t)0x02U) /*!< Wait For Event instruction to enter SLEEP mode */ |
| /** |
| * @} |
| */ |
| |
| /** @defgroup PWR_STOP_mode_entry PWR STOP mode entry |
| * @{ |
| */ |
| #define PWR_STOPENTRY_WFI ((uint8_t)0x01U) /*!< Wait For Interruption instruction to enter STOP mode */ |
| #define PWR_STOPENTRY_WFE ((uint8_t)0x02U) /*!< Wait For Event instruction to enter STOP mode */ |
| /** |
| * @} |
| */ |
| |
| /** @defgroup PWR_Flag PWR Flag |
| * @{ |
| */ |
| #define PWR_FLAG_WU PWR_CSR_WUF /*!< Wakeup event from wakeup pin or RTC alarm */ |
| #define PWR_FLAG_SB PWR_CSR_SBF /*!< Standby flag */ |
| #define PWR_FLAG_PVDO PWR_CSR_PVDO /*!< Power Voltage Detector output flag */ |
| #define PWR_FLAG_VREFINTRDY PWR_CSR_VREFINTRDYF /*!< VREFINT reference voltage ready */ |
| /** |
| * @} |
| */ |
| |
| /** |
| * @} |
| */ |
| |
| /* Exported macro ------------------------------------------------------------*/ |
| /** @defgroup PWR_Exported_Macro PWR Exported Macro |
| * @{ |
| */ |
| |
| /** @brief Check PWR flag is set or not. |
| * @param __FLAG__ specifies the flag to check. |
| * This parameter can be one of the following values: |
| * @arg PWR_FLAG_WU: Wake Up flag. This flag indicates that a wakeup event |
| * was received from the WKUP pin or from the RTC alarm (Alarm A |
| * or Alarm B), RTC Tamper event, RTC TimeStamp event or RTC Wakeup. |
| * An additional wakeup event is detected if the WKUP pin is enabled |
| * (by setting the EWUP bit) when the WKUP pin level is already high. |
| * @arg PWR_FLAG_SB: StandBy flag. This flag indicates that the system was |
| * resumed from StandBy mode. |
| * @arg PWR_FLAG_PVDO: PVD Output. This flag is valid only if PVD is enabled |
| * by the HAL_PWR_EnablePVD() function. The PVD is stopped by Standby mode |
| * For this reason, this bit is equal to 0 after Standby or reset |
| * until the PVDE bit is set. |
| * @arg PWR_FLAG_VREFINTRDY: This flag indicates that the internal reference |
| * voltage VREFINT is ready. |
| * @retval The new state of __FLAG__ (TRUE or FALSE). |
| */ |
| #define __HAL_PWR_GET_FLAG(__FLAG__) ((PWR->CSR & (__FLAG__)) == (__FLAG__)) |
| |
| /** @brief Clear the PWR's pending flags. |
| * @param __FLAG__ specifies the flag to clear. |
| * This parameter can be one of the following values: |
| * @arg PWR_FLAG_WU: Wake Up flag |
| * @arg PWR_FLAG_SB: StandBy flag |
| */ |
| #define __HAL_PWR_CLEAR_FLAG(__FLAG__) (PWR->CR |= (__FLAG__) << 2U) |
| |
| /** |
| * @} |
| */ |
| |
| /* Private macros --------------------------------------------------------*/ |
| /** @addtogroup PWR_Private_Macros PWR Private Macros |
| * @{ |
| */ |
| |
| #define IS_PWR_WAKEUP_PIN(PIN) (((PIN) == PWR_WAKEUP_PIN1) || \ |
| ((PIN) == PWR_WAKEUP_PIN2) || \ |
| ((PIN) == PWR_WAKEUP_PIN3)) |
| |
| #define IS_PWR_REGULATOR(REGULATOR) (((REGULATOR) == PWR_MAINREGULATOR_ON) || \ |
| ((REGULATOR) == PWR_LOWPOWERREGULATOR_ON)) |
| |
| #define IS_PWR_SLEEP_ENTRY(ENTRY) (((ENTRY) == PWR_SLEEPENTRY_WFI) || ((ENTRY) == PWR_SLEEPENTRY_WFE)) |
| |
| #define IS_PWR_STOP_ENTRY(ENTRY) (((ENTRY) == PWR_STOPENTRY_WFI) || ((ENTRY) == PWR_STOPENTRY_WFE)) |
| |
| /** |
| * @} |
| */ |
| |
| /* Include PWR HAL Extended module */ |
| #include "stm32f3xx_hal_pwr_ex.h" |
| |
| /* Exported functions --------------------------------------------------------*/ |
| |
| /** @addtogroup PWR_Exported_Functions PWR Exported Functions |
| * @{ |
| */ |
| |
| /** @addtogroup PWR_Exported_Functions_Group1 Initialization and de-initialization functions |
| * @{ |
| */ |
| |
| /* Initialization and de-initialization functions *****************************/ |
| void HAL_PWR_DeInit(void); |
| |
| /** |
| * @} |
| */ |
| |
| /** @addtogroup PWR_Exported_Functions_Group2 Peripheral Control functions |
| * @{ |
| */ |
| |
| /* Peripheral Control functions **********************************************/ |
| void HAL_PWR_EnableBkUpAccess(void); |
| void HAL_PWR_DisableBkUpAccess(void); |
| |
| /* WakeUp pins configuration functions ****************************************/ |
| void HAL_PWR_EnableWakeUpPin(uint32_t WakeUpPinx); |
| void HAL_PWR_DisableWakeUpPin(uint32_t WakeUpPinx); |
| |
| /* Low Power modes configuration functions ************************************/ |
| void HAL_PWR_EnterSTOPMode(uint32_t Regulator, uint8_t STOPEntry); |
| void HAL_PWR_EnterSLEEPMode(uint32_t Regulator, uint8_t SLEEPEntry); |
| void HAL_PWR_EnterSTANDBYMode(void); |
| |
| void HAL_PWR_EnableSleepOnExit(void); |
| void HAL_PWR_DisableSleepOnExit(void); |
| void HAL_PWR_EnableSEVOnPend(void); |
| void HAL_PWR_DisableSEVOnPend(void); |
| /** |
| * @} |
| */ |
| |
| /** |
| * @} |
| */ |
| |
| /** |
| * @} |
| */ |
| |
| /** |
| * @} |
| */ |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| |
| #endif /* __STM32F3xx_HAL_PWR_H */ |