📄 pcu.h
字号:
/******************** (C) COPYRIGHT 2003 STMicroelectronics ********************* File Name : pcu.h* Author : MCD Application Team* Date First Issued : 30/05/2003* Description : This file contains all the functions prototypes for the* PCU software library.********************************************************************************* History:* 13/01/2006 : V3.1* 24/05/2005 : V3.0* 30/11/2004 : V2.0* 14/07/2004 : V1.3* 01/01/2004 : V1.2******************************************************************************* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.*******************************************************************************/#ifndef __PCU_H#define __PCU_H#include "71x_map.h"typedef enum{ PCU_WREN = 0x8000, PCU_VROK = 0x1000} PCU_Flags;typedef enum{ PCU_STABLE, PCU_UNSTABLE} PCU_VR_Status;typedef enum{ PCU_MVR = 0x0008, PCU_LPR = 0x0010} PCU_VR;typedef enum{ WFI_CLOCK2_16, WFI_EXTERNAL} WFI_CLOCKS;typedef enum{ PCU_SLOW, PCU_STOP, PCU_STANDBY} LPM_MODES;/* VR_OK : Voltage Regulator OK */#define PCU_VROK_Mask 0x1000/* Main Voltage Regulator */#define PCU_MVR_Mask 0x0008/* Low Power Voltage Regulator */#define PCU_LPR_Mask 0x0010/* PCU register Write Enable Bit */#define PCU_WREN_Mask 0x8000/* PCU register Backup logic Busy ( programming ongoing) Bit */#define PCU_BUSY_Mask 0x4000/* Low Voltage Detector */#define PCU_LVD_Mask 0x0100/* Power Down Flag */#define PCU_PWRDWN_Mask 0x0040/* WFI Mode Clock Selection Bit */#define PCU_WFI_CKSEL_Mask 0x00000002/* Halt Mode Enable Bit */#define PCU_EN_HALT_Mask 0x00000800/* Halt Mode Flag */#define PCU_HALT_Mask 0x0002/* Stop Mode Enable Bit */#define PCU_STOP_EN_Mask 0x00000400/* Low Power Regulator in Wait For interrupt Mode */#define PCU_LPRWFI_Mask 0x0020/* Low Power Mode in Wait For interrupt Mode */#define PCU_LPOWFI_Mask 0x00000001/* Software Reset Enable */#define PCU_SRESEN_Mask 0x00000001/******************************************************************************** Function Name : PCU_MVRStatus* Description : This routine is used to check the Main Voltage Regulator* : NewState.* Input : None* Return : STABLE, UNSTABLE*******************************************************************************/inline PCU_VR_Status PCU_MVRStatus ( void ){ return (PCU->PWRCR & PCU_VROK_Mask) == 0x00 ? PCU_UNSTABLE : PCU_STABLE;}/******************************************************************************** Function Name : PCU_FlagStatus* Description : This routine is used to return the PCU register flag* Input 1 : The flag to get* Return : RESET, SET*******************************************************************************/inline FlagStatus PCU_FlagStatus ( PCU_Flags Xflag ){ return ( PCU->PWRCR & Xflag ) == 0x00 ? RESET : SET;}/******************************************************************************** Function Name : PCU_VRConfig* Description : This routine is used to configure PCU voltage regultors* Input 1 : MVR : Main voltage Regulator LPR : Low Power Regulator* Input 2 : ENABLE : Enable the Voltage Regulator DISABLE: Disable ( ByPass ) the VR* Return : None*******************************************************************************/void PCU_VRConfig ( PCU_VR xVR, FunctionalState NewState );/******************************************************************************** Function Name : PCU_VRStatus* Description : This routine is used to get the PCU voltage regultors status* Input : MVR : Main voltage Regulator LPR : Low Power Regulator* Return : ENABLE : Enable the Voltage Regulator DISABLE: Disable ( ByPass ) the VR*******************************************************************************/inline FunctionalState PCU_VRStatus ( PCU_VR xVR ){ return ( PCU->PWRCR & xVR ) == 0 ? ENABLE : DISABLE;}/******************************************************************************** Function Name : PCU_LVDDisable* Description : This routine is used to disable the Low Voltage Detector.* Input : None* Return : None*******************************************************************************/inline void PCU_LVDDisable ( void ){ /* Wait until the previous write operation will be completed */ while (( PCU->PWRCR & PCU_BUSY_Mask ) == 1); /* Unlock Power Control Register */ PCU->PWRCR |= PCU_WREN_Mask; /* Set the LVD DIS Flag */ PCU->PWRCR |= PCU_LVD_Mask;}/******************************************************************************** Function Name : PCU_LVDStatus* Description : This routine is used to get the LVD NewState.* Input : None* Return : ENABLE, DISABLE*******************************************************************************/inline FunctionalState PCU_LVDStatus ( void ){ return ( PCU->PWRCR & PCU_LVD_Mask ) == 0 ? ENABLE : DISABLE;}/******************************************************************************** Function Name : PCU_WFIEnter* Description : This routine is used to force the Device to enter in WFI mode* Input 1 : CLOCK2_16 : Clock2_16 as system clock for WFI mode* EXTERNAL : external clock as system clock for WFI mode* Input 2 : ENABLE : Enable Low Power Regulator during Wait For Interrupt Mode* DISABLE: Disable Low Power Regulator during Wait For Interrupt Mode* Input 3 : ENABLE : Enable Low Power Mode during Wait For Interrupt Mode* DISABLE: Disable Low Power Mode during Wait For Interrupt Mode* Return : None*******************************************************************************/void PCU_WFIEnter ( WFI_CLOCKS Xclock, FunctionalState Xlpr, FunctionalState Xlpm );/******************************************************************************** Function Name : PCU_LPMEnter* Description : This routine is used to force the Device to enter low* power mode* Input : SLOW : Slow Mode STOP : Stop Mode HALT : Halt Mode* Return : None*******************************************************************************/void PCU_LPMEnter ( LPM_MODES Xmode);#endif /* __PCU_H *//******************* (C) COPYRIGHT 2003 STMicroelectronics *****END OF FILE****/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -