187 lines
6.0 KiB
C
187 lines
6.0 KiB
C
//****************************************************************************
|
|
// @Module Capture / Compare Unit 6 (CCU6)
|
|
// @Filename CC6.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 CCU6 module.
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
// @Date 2025/3/28 16:46:42
|
|
//
|
|
//****************************************************************************
|
|
|
|
// USER CODE BEGIN (CCU6_Header,1)
|
|
|
|
// USER CODE END
|
|
|
|
|
|
|
|
#ifndef _CC6_H_
|
|
#define _CC6_H_
|
|
|
|
//****************************************************************************
|
|
// @Project Includes
|
|
//****************************************************************************
|
|
|
|
// USER CODE BEGIN (CCU6_Header,2)
|
|
|
|
// USER CODE END
|
|
|
|
|
|
//****************************************************************************
|
|
// @Macros
|
|
//****************************************************************************
|
|
|
|
// USER CODE BEGIN (CCU6_Header,3)
|
|
|
|
// USER CODE END
|
|
|
|
|
|
//****************************************************************************
|
|
// @Defines
|
|
//****************************************************************************
|
|
|
|
// This parameter identifies CC6 timer 12
|
|
#define CC6_TIMER_12 12
|
|
|
|
// This parameter identifies CC6 timer 13
|
|
#define CC6_TIMER_13 13
|
|
|
|
// This parameter identifies CC6 channel 0
|
|
#define CC6_CHANNEL_0 0
|
|
|
|
// This parameter identifies CC6 channel 1
|
|
#define CC6_CHANNEL_1 1
|
|
|
|
// This parameter identifies CC6 channel 2
|
|
#define CC6_CHANNEL_2 2
|
|
|
|
// This parameter identifies CC6 channel 3
|
|
#define CC6_CHANNEL_3 3
|
|
|
|
|
|
// USER CODE BEGIN (CCU6_Header,4)
|
|
|
|
// USER CODE END
|
|
|
|
|
|
//****************************************************************************
|
|
// @Typedefs
|
|
//****************************************************************************
|
|
|
|
// USER CODE BEGIN (CCU6_Header,5)
|
|
|
|
// USER CODE END
|
|
|
|
|
|
//****************************************************************************
|
|
// @Imported Global Variables
|
|
//****************************************************************************
|
|
|
|
// USER CODE BEGIN (CCU6_Header,6)
|
|
|
|
// USER CODE END
|
|
|
|
|
|
//****************************************************************************
|
|
// @Global Variables
|
|
//****************************************************************************
|
|
|
|
// USER CODE BEGIN (CCU6_Header,7)
|
|
|
|
// USER CODE END
|
|
|
|
|
|
//****************************************************************************
|
|
// @Prototypes Of Global Functions
|
|
//****************************************************************************
|
|
|
|
void CC6_vInit(void);
|
|
|
|
|
|
// USER CODE BEGIN (CCU6_Header,8)
|
|
|
|
// USER CODE END
|
|
|
|
|
|
//****************************************************************************
|
|
// @Macro CC6_vEnableShadowTransfer(TimerNr)
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
// @Description This macro enables the transfer from the shadow registers
|
|
// to the actual CC6 registers.
|
|
//
|
|
// The following definitions for TimerNr are available:
|
|
// CC6_TIMER_12
|
|
// CC6_TIMER_13
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
// @Returnvalue None
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
// @Parameters TimerNr:
|
|
// Name of the CC6 timer to be used
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
// @Date 2025/3/28
|
|
//
|
|
//****************************************************************************
|
|
|
|
#define CC6_vEnableShadowTransfer(TimerNr) CC6_vEnableShadowTransfer_##TimerNr()
|
|
#define CC6_vEnableShadowTransfer_CC6_TIMER_12() CCU6_TCTR4L |= 0x40
|
|
#define CC6_vEnableShadowTransfer_CC6_TIMER_13() CCU6_TCTR4H |= 0x40
|
|
|
|
|
|
//****************************************************************************
|
|
// @Macro CC6_vLoadChannelShadowRegister(RegName, uwValue)
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
// @Description This macro loads the selected CC6 channel shadow register
|
|
// with the parameter Value.
|
|
//
|
|
// The following definitions are available for RegName:
|
|
// CC6_CHANNEL_0 .. CC6_CHANNEL_3 (see @Defines in header file)
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
// @Returnvalue None
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
// @Parameters RegName:
|
|
// Name of the CC6 channel to be loaded
|
|
// @Parameters uwValue:
|
|
// 16-bit Value with which the CC6 shadow register is to be
|
|
// loaded
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
// @Date 2025/3/28
|
|
//
|
|
//****************************************************************************
|
|
|
|
#define CC6_vLoadChannelShadowRegister(RegName, uwValue) CC6_vLoadChannelShadowRegister_##RegName(uwValue)
|
|
#define CC6_vLoadChannelShadowRegister_CC6_CHANNEL_0(uwValue) CCU6_CC60SRLH = uwValue
|
|
#define CC6_vLoadChannelShadowRegister_CC6_CHANNEL_1(uwValue) CCU6_CC61SRLH = uwValue
|
|
#define CC6_vLoadChannelShadowRegister_CC6_CHANNEL_2(uwValue) CCU6_CC62SRLH = uwValue
|
|
#define CC6_vLoadChannelShadowRegister_CC6_CHANNEL_3(uwValue) CCU6_CC63SRLH = uwValue
|
|
|
|
|
|
//****************************************************************************
|
|
// @Interrupt Vectors
|
|
//****************************************************************************
|
|
|
|
// Shared interrupt vector definitions are defined in SHARED_INT.H
|
|
|
|
|
|
// USER CODE BEGIN (CCU6_Header,10)
|
|
|
|
// USER CODE END
|
|
|
|
|
|
#endif // ifndef _CC6_H_
|