80#define PCA_SetCounterState(__STATE__) SBIT_ASSIGN(CR, __STATE__)
81#define PCA_ClearCounterOverflowInterrupt() SBIT_RESET(CF)
82#define PCA_PCA0_ClearInterrupt() SBIT_RESET(CCF0)
83#define PCA_PCA1_ClearInterrupt() SBIT_RESET(CCF1)
84#define PCA_PCA2_ClearInterrupt() SBIT_RESET(CCF2)
86#define PCA_SetStopCounterInIdle(__STATE__) SFR_ASSIGN(CMOD, 7, __STATE__)
87#define PCA_SetClockSource(__SOURCE___) (CMOD = CMOD & ~(0x07 << 1) | ((__SOURCE___) << 1))
88#define PCA_EnableCounterOverflowInterrupt(__STATE__) SFR_ASSIGN(CMOD, 0, __STATE__)
90#define PCA_PCA0_SetWorkMode(__MODE__) (CCAPM0 = (__MODE__))
91#define PCA_PCA1_SetWorkMode(__MODE__) (CCAPM1 = (__MODE__))
92#define PCA_PCA2_SetWorkMode(__MODE__) (CCAPM2 = (__MODE__))
94#define PCA_PWM0_SetBitWidth(__BIT_WIDTH__) (PCA_PWM0 = PCA_PWM0 & ~(0x03 << 6) | ((__BIT_WIDTH__) << 6))
95#define PCA_PWM1_SetBitWidth(__BIT_WIDTH__) (PCA_PWM1 = PCA_PWM1 & ~(0x03 << 6) | ((__BIT_WIDTH__) << 6))
96#define PCA_PWM2_SetBitWidth(__BIT_WIDTH__) (PCA_PWM2 = PCA_PWM2 & ~(0x03 << 6) | ((__BIT_WIDTH__) << 6))
100#define PCA_PCA0_SetCompareValue(__VALUE__) do{CCAP0H = (__VALUE__); CCAP0L = (__VALUE__);}while(0)
101#define PCA_PCA1_SetCompareValue(__VALUE__) do{CCAP1H = (__VALUE__); CCAP1L = (__VALUE__);}while(0)
102#define PCA_PCA2_SetCompareValue(__VALUE__) do{CCAP2H = (__VALUE__); CCAP2L = (__VALUE__);}while(0)
106#define PCA_PCA0_ChangeCompareValue(__VALUE__) (CCAP0H = (__VALUE__))
107#define PCA_PCA1_ChangeCompareValue(__VALUE__) (CCAP1H = (__VALUE__))
108#define PCA_PCA2_ChangeCompareValue(__VALUE__) (CCAP2H = (__VALUE__))
113#define PCA_PCA0_SetCompareValue10bit(__VALUE__) do{ \
114 PCA_PWM0 = PCA_PWM0 & ~(0x0F << 2) | (((__VALUE__) >> 4) & 0x30) | (((__VALUE__) >> 6) & 0x0C); \
115 CCAP0H = ((__VALUE__) & 0xFF); CCAP0L = ((__VALUE__) & 0xFF); \
117#define PCA_PCA1_SetCompareValue10bit(__VALUE__) do{ \
118 PCA_PWM1 = PCA_PWM1 & ~(0x0F << 2) | (((__VALUE__) >> 4) & 0x30) | (((__VALUE__) >> 6) & 0x0C); \
119 CCAP1H = ((__VALUE__) & 0xFF); CCAP1L = ((__VALUE__) & 0xFF); \
121#define PCA_PCA2_SetCompareValue10bit(__VALUE__) do{ \
122 PCA_PWM2 = PCA_PWM2 & ~(0x0F << 2) | (((__VALUE__) >> 4) & 0x30) | (((__VALUE__) >> 6) & 0x0C); \
123 CCAP2H = ((__VALUE__) & 0xFF); CCAP2L = ((__VALUE__) & 0xFF); \
131#define PCA_PCA0_ChangeCompareValue10bit(__VALUE__) do{ \
132 PCA_PWM0 = PCA_PWM0 & ~(0x03 << 4) | (((__VALUE__) >> 4) & 0x30); \
133 CCAP0H = ((__VALUE__) & 0xFF); \
135#define PCA_PCA1_ChangeCompareValue10bit(__VALUE__) do{ \
136 PCA_PWM1 = PCA_PWM1 & ~(0x03 << 4) | (((__VALUE__) >> 4) & 0x30); \
137 CCAP1H = ((__VALUE__) & 0xFF); \
139#define PCA_PCA2_ChangeCompareValue10bit(__VALUE__) do{ \
140 PCA_PWM2 = PCA_PWM2 & ~(0x03 << 4) | (((__VALUE__) >> 4) & 0x30); \
141 CCAP2H = ((__VALUE__) & 0xFF); \
147#define PCA_SetPort(__ALTER_PORT__) (P_SW1 = P_SW1 & ~(0x03 << 4) | ((__ALTER_PORT__) << 4))
@ PCA_AlterPort_G1K08A_P55_P32_P33_P54
@ PCA_AlterPort_G1K08A_P31_P32_P33_P55
@ PCA_AlterPort_G1K08A_P55_P31_P33_P54
@ PCA_WorkMode_CAP_16bitTimer
@ PCA_WorkMode_PWM_EdgeInterrupt
@ PCA_WorkMode_CAP_16bitPulseOut
@ PCA_WorkMode_CAP_16bitEdge
@ PCA_WorkMode_PWM_NonInterrupt
@ PCA_WorkMode_PWM_FallInterrupt
@ PCA_WorkMode_CAP_16bitRising
@ PCA_WorkMode_PWM_RiseInterrupt
@ PCA_WorkMode_CAP_16bitFalling
@ PCA_ClockSource_SysClkDiv12
@ PCA_ClockSource_Timer0Overflow
@ PCA_ClockSource_SysClkDiv4
@ PCA_ClockSource_SysClkDiv8
@ PCA_ClockSource_ExtClock
@ PCA_ClockSource_SysClkDiv2
@ PCA_ClockSource_SysClkDiv6
@ PCA_AlterPort_G1K08T_P34_P35_P36_P37
@ PCA_AlterPort_G1K08T_P54_P13_P14_P15
@ PCA_AlterPort_G1K08T_P13_P11_P10_P37
@ PCA_AlterPort_P12_P11_P10_P37
@ PCA_AlterPort_P34_P35_P36_P37
@ PCA_AlterPort_P24_P25_P26_P27