123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- ////////////////////////////////////////////////////////////////////////////////
- /// @file hal_pwr.h
- /// @author AE TEAM
- /// @brief THIS FILE CONTAINS ALL THE FUNCTIONS PROTOTYPES FOR THE PWR
- /// FIRMWARE LIBRARY.
- ////////////////////////////////////////////////////////////////////////////////
- /// @attention
- ///
- /// THE EXISTING FIRMWARE IS ONLY FOR REFERENCE, WHICH IS DESIGNED TO PROVIDE
- /// CUSTOMERS WITH CODING INFORMATION ABOUT THEIR PRODUCTS SO THEY CAN SAVE
- /// TIME. THEREFORE, MINDMOTION SHALL NOT BE LIABLE FOR ANY DIRECT, INDIRECT OR
- /// CONSEQUENTIAL DAMAGES ABOUT ANY CLAIMS ARISING OUT OF THE CONTENT OF SUCH
- /// HARDWARE AND/OR THE USE OF THE CODING INFORMATION CONTAINED HEREIN IN
- /// CONNECTION WITH PRODUCTS MADE BY CUSTOMERS.
- ///
- /// <H2><CENTER>© COPYRIGHT MINDMOTION </CENTER></H2>
- ////////////////////////////////////////////////////////////////////////////////
- // Define to prevent recursive inclusion
- #ifndef __HAL_PWR_H
- #define __HAL_PWR_H
- // Files includes
- #include "types.h"
- #include "reg_pwr.h"
- #include "reg_syscfg.h"
- ////////////////////////////////////////////////////////////////////////////////
- /// @addtogroup MM32_Hardware_Abstract_Layer
- /// @{
- ////////////////////////////////////////////////////////////////////////////////
- /// @defgroup PWR_HAL
- /// @brief PWR HAL modules
- /// @{
- ////////////////////////////////////////////////////////////////////////////////
- /// @defgroup PWR_Exported_Types
- /// @{
- typedef enum {
- emWUP_Pin1 = 0,
- emWUP_Pin2 = 1,
- emWUP_Pin3,
- emWUP_Pin4,
- emWUP_Pin5,
- emWUP_Pin6,
- } emWUP_Pin_Typedef;
- ////////////////////////////////////////////////////////////////////////////////
- /// @brief PVD_detection_level
- typedef enum {
- emPVD_LEVEL0 = SYSCFG_PDETCSR_PLS_1V7,
- emPVD_LEVEL1 = SYSCFG_PDETCSR_PLS_2V0,
- emPVD_LEVEL2 = SYSCFG_PDETCSR_PLS_2V3,
- emPVD_LEVEL3 = SYSCFG_PDETCSR_PLS_2V6,
- emPVD_LEVEL4 = SYSCFG_PDETCSR_PLS_2V9,
- emPVD_LEVEL5 = SYSCFG_PDETCSR_PLS_3V2,
- emPVD_LEVEL6 = SYSCFG_PDETCSR_PLS_3V5,
- emPVD_LEVEL7 = SYSCFG_PDETCSR_PLS_3V8,
- emPVD_LEVEL8 = SYSCFG_PDETCSR_PLS_4V1,
- emPVD_LEVEL9 = SYSCFG_PDETCSR_PLS_4V4,
- emPVD_LEVEL10 = SYSCFG_PDETCSR_PLS_4V7
- } emPVD_Level_Typedef;
- #define PWR_PVDLevel_1V7 SYSCFG_PDETCSR_PLS_1V7
- #define PWR_PVDLevel_2V0 SYSCFG_PDETCSR_PLS_2V0
- #define PWR_PVDLevel_2V3 SYSCFG_PDETCSR_PLS_2V3
- #define PWR_PVDLevel_2V6 SYSCFG_PDETCSR_PLS_2V6
- #define PWR_PVDLevel_2V9 SYSCFG_PDETCSR_PLS_2V9
- #define PWR_PVDLevel_3V2 SYSCFG_PDETCSR_PLS_3V2
- #define PWR_PVDLevel_3V5 SYSCFG_PDETCSR_PLS_3V5
- #define PWR_PVDLevel_3V8 SYSCFG_PDETCSR_PLS_3V8
- #define PWR_PVDLevel_4V1 SYSCFG_PDETCSR_PLS_4V1
- #define PWR_PVDLevel_4V4 SYSCFG_PDETCSR_PLS_4V4
- #define PWR_PVDLevel_4V7 SYSCFG_PDETCSR_PLS_4V7
- /// @brief Regulator_state_is_STOP_mode
- typedef enum {
- PWR_Regulator_ON = 0x00000000,
- PWR_Regulator_LowPower = 0x00000001
- } emPWR_Reg_Stop_mode_Typedef;
- /// @brief STOP_mode_entry
- typedef enum {
- PWR_STOPEntry_WFI = 0x00000001,
- PWR_STOPEntry_WFE = 0x00000002
- } emPWR_STOP_ModeEn_Typedef;
- /// @brief Low Power Mode
- typedef enum {
- LP_STOP_MODE = 0,
- LP_SLEEP_MODE = 1,
- LP_STANDBY_MODE = 2
- } emPWR_LP_Mode_Typedef;
- /// @brief Wait_for_mode
- typedef enum {
- LP_WFI,
- LP_WFE
- } emPWR_Wait_Mode_Typedef;
- //typedef enum {
- // PWR_FLAG_WU = PWR_CSR_WUF,
- // PWR_FLAG_SB = PWR_CSR_SBF,
- // PWR_FLAG_PVDO = PWR_CSR_PVDO
- //} emPWR_PWR_Flag_Typedef;
- /// @}
- ///////////////////////////////////////////////////////////////////////////////
- /// @defgroup PWR_Exported_Variables
- /// @{
- #ifdef _HAL_PWR_C_
- #define GLOBAL
- #else
- #define GLOBAL extern
- #endif
- #undef GLOBAL
- /// @}
- ////////////////////////////////////////////////////////////////////////////////
- /// @defgroup PWR_Exported_Functions
- /// @{
- void PWR_DeInit(void);
- void PWR_BackupAccessCmd(FunctionalState state);
- void PWR_PVDCmd(FunctionalState state);
- void PWR_PVDLevelConfig(emPVD_Level_Typedef pvd_level);
- void PWR_WakeUpPinCmd(FunctionalState state);
- void PWR_EnterSTOPMode(emPWR_Reg_Stop_mode_Typedef regulator, emPWR_STOP_ModeEn_Typedef stop_entry);
- void PWR_EnterSTANDBYMode(void);
- void PWR_ClearFlag(u32 flag);
- FlagStatus PWR_GetFlagStatus(u32 flag);
- FlagStatus PWR_GetPVDOFlagStatus(u32 flag);
- void exPWR_EnterLowPowerMode(emPWR_LP_Mode_Typedef lp_mode, emPWR_Wait_Mode_Typedef wait_mode);
- /// @}
- /// @}
- /// @}
- ////////////////////////////////////////////////////////////////////////////////
- #endif // __HAL_PWR_H
- ////////////////////////////////////////////////////////////////////////////////
|