//**************************************************************************** // @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_