第一次提交计算机温控
This commit is contained in:
202
PS.H
Normal file
202
PS.H
Normal file
@@ -0,0 +1,202 @@
|
||||
//****************************************************************************
|
||||
// @Module Power Saving Modes
|
||||
// @Filename PS.H
|
||||
// @Project CL2.0.dav
|
||||
//----------------------------------------------------------------------------
|
||||
// @Controller Infineon XC886CLM-8FF
|
||||
//
|
||||
// @Compiler Keil
|
||||
//
|
||||
// @Codegenerator 1.3
|
||||
//
|
||||
// @Description: This file contains all function prototypes and macros for
|
||||
// the PS module.
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
// @Date 2025/1/21 08:53:36
|
||||
//
|
||||
//****************************************************************************
|
||||
|
||||
// USER CODE BEGIN (PS_Header,1)
|
||||
|
||||
// USER CODE END
|
||||
|
||||
|
||||
|
||||
#ifndef _PS_H_
|
||||
#define _PS_H_
|
||||
|
||||
//****************************************************************************
|
||||
// @Project Includes
|
||||
//****************************************************************************
|
||||
|
||||
// USER CODE BEGIN (PS_Header,2)
|
||||
|
||||
// USER CODE END
|
||||
|
||||
|
||||
//****************************************************************************
|
||||
// @Macros
|
||||
//****************************************************************************
|
||||
|
||||
// USER CODE BEGIN (PS_Header,3)
|
||||
|
||||
// USER CODE END
|
||||
|
||||
|
||||
//****************************************************************************
|
||||
// @Defines
|
||||
//****************************************************************************
|
||||
|
||||
// USER CODE BEGIN (PS_Header,4)
|
||||
|
||||
// USER CODE END
|
||||
|
||||
|
||||
//****************************************************************************
|
||||
// @Typedefs
|
||||
//****************************************************************************
|
||||
|
||||
// USER CODE BEGIN (PS_Header,5)
|
||||
|
||||
// USER CODE END
|
||||
|
||||
|
||||
//****************************************************************************
|
||||
// @Imported Global Variables
|
||||
//****************************************************************************
|
||||
|
||||
// USER CODE BEGIN (PS_Header,6)
|
||||
|
||||
// USER CODE END
|
||||
|
||||
|
||||
//****************************************************************************
|
||||
// @Global Variables
|
||||
//****************************************************************************
|
||||
|
||||
// USER CODE BEGIN (PS_Header,7)
|
||||
|
||||
// USER CODE END
|
||||
|
||||
|
||||
//****************************************************************************
|
||||
// @Prototypes Of Global Functions
|
||||
//****************************************************************************
|
||||
|
||||
void PS_vInit(void);
|
||||
void PS_vSetPowerDown(void);
|
||||
void PS_vSetSlowDown(void);
|
||||
void PS_vResetSlowDown(void);
|
||||
|
||||
// USER CODE BEGIN (PS_Header,8)
|
||||
|
||||
// USER CODE END
|
||||
|
||||
|
||||
//****************************************************************************
|
||||
// @Macro void PS_vSetIdle()
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
// @Description This macro enters the idle mode by setting bit IDLE in SFR
|
||||
// PCON. The instruction will stop the CPU immediately. Thus
|
||||
// any following code will not be executed before the
|
||||
// controller has been restarted by an interrupt.
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
// @Returnvalue None
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
// @Parameters None
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
// @Date 2025/1/21
|
||||
//
|
||||
//****************************************************************************
|
||||
|
||||
#define PS_vSetIdle() PCON |= 0x01
|
||||
|
||||
|
||||
//****************************************************************************
|
||||
// @Macro PS_vDisableModule(ModuleName)
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
// @Description This macro disables a specific peripheral module which is
|
||||
// passed in a parameter.Switch the page to 1 using the
|
||||
// statementSFR_PAGE(_su1, SST1); before calling this
|
||||
// Disable macro.After that again switch back the page to 0
|
||||
// with the macro SFR_PAGE(_su1, RST1);.The following
|
||||
// constants are available for 'ModuleName':
|
||||
// ADC, T2, CCU, SSC, MDU, CAN, CDC, T21, UART1
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
// @Returnvalue None
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
// @Parameters ModuleName:
|
||||
// Name of the Module
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
// @Date 2025/1/21
|
||||
//
|
||||
//****************************************************************************
|
||||
|
||||
#define PS_vDisableModule(Module) PS_vDisableModule_(Module)
|
||||
|
||||
#define PS_vDisableModule_(Module) PS_vDisableModule_##Module
|
||||
|
||||
#define PS_vDisableModule_ADC PMCON1 |= 0x01
|
||||
#define PS_vDisableModule_T2 PMCON1 |= 0x08
|
||||
#define PS_vDisableModule_CCU PMCON1 |= 0x04
|
||||
#define PS_vDisableModule_SSC PMCON1 |= 0x02
|
||||
#define PS_vDisableModule_MDU PMCON1 |= 0x10
|
||||
#define PS_vDisableModule_CAN PMCON1 |= 0x20
|
||||
#define PS_vDisableModule_CDC PMCON1 |= 0x40
|
||||
#define PS_vDisableModule_T21 PMCON2 |= 0x01
|
||||
#define PS_vDisableModule_UART1 PMCON2 |= 0x02
|
||||
|
||||
|
||||
//****************************************************************************
|
||||
// @Macro PS_vEnableModule(ModuleName)
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
// @Description This macro enables a specific peripheral module which is
|
||||
// passed in a parameter. Switch the page to 1 using the
|
||||
// statement SFR_PAGE(_su1, SST1); before calling this
|
||||
// Enable macro.After that again switch back the page to 0
|
||||
// with the macro SFR_PAGE(_su1, RST1);.The following
|
||||
// constants are available for 'ModuleName':
|
||||
// ADC, T2, CCU, SSC, MDU, CAN, CDC, T21, UART1
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
// @Returnvalue None
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
// @Parameters ModuleName:
|
||||
// Name of the Module
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
// @Date 2025/1/21
|
||||
//
|
||||
//****************************************************************************
|
||||
|
||||
#define PS_vEnableModule(Module) PS_vEnableModule_(Module)
|
||||
|
||||
#define PS_vEnableModule_(Module) PS_vEnableModule_##Module
|
||||
|
||||
#define PS_vEnableModule_ADC PMCON1 &= ~(ubyte)0x01
|
||||
#define PS_vEnableModule_T2 PMCON1 &= ~(ubyte)0x08
|
||||
#define PS_vEnableModule_CCU PMCON1 &= ~(ubyte)0x04
|
||||
#define PS_vEnableModule_SSC PMCON1 &= ~(ubyte)0x02
|
||||
#define PS_vEnableModule_MDU PMCON1 &= ~(ubyte)0x10
|
||||
#define PS_vEnableModule_CAN PMCON1 &= ~(ubyte)0x20
|
||||
#define PS_vEnableModule_CDC PMCON1 &= ~(ubyte)0x40
|
||||
#define PS_vEnableModule_T21 PMCON2 &= ~(ubyte)0x01
|
||||
#define PS_vEnableModule_UART1 PMCON2 &= ~(ubyte)0x02
|
||||
|
||||
|
||||
// USER CODE BEGIN (PS_Header,9)
|
||||
|
||||
// USER CODE END
|
||||
|
||||
#endif // ifndef _PS_H_
|
||||
Reference in New Issue
Block a user