87#define PWMA_SetPrescaler(__16BIT_VAL__) do { \
89 (PWMA_PSCRH = ((__16BIT_VAL__) >> 8)); \
90 (PWMA_PSCRL = ((__16BIT_VAL__) & 0xFF)); \
94#define PWMA_SetPeriod(__16BIT_VAL__) do { \
96 (PWMA_ARRH = ((__16BIT_VAL__) >> 8)); \
97 (PWMA_ARRL = ((__16BIT_VAL__) & 0xFF)); \
102#define PWMA_SetOverallState(__STATE__) SFRX_ASSIGN(PWMA_BKR, 7, (__STATE__))
105#define PWMA_SetPinOutputState(__PINS__, __STATE__) do { \
107 PWMA_ENO = PWMA_ENO & ~(__PINS__) | (((__STATE__) & 0x01)? (__PINS__) : 0x00); \
112#define PWMA_SetPinBrakeControl(__PINS__, __STATE__) do { \
114 PWMA_IOAUX = PWMA_IOAUX & ~(__PINS__) | (((__STATE__) & 0x01)? (__PINS__) : 0x00); \
122#define PWMA_SetAutoReloadPreload(__STATE__) SFRX_ASSIGN(PWMA_CR1, 7, (__STATE__))
127#define PWMA_SetEdgeAlignment(__ALIGN__) do{ \
128 SFRX_ON();(PWMA_CR1 = PWMA_CR1 & ~(0x03 << 5) | ((__ALIGN__) << 5));SFRX_OFF(); \
135#define PWMA_SetCounterDirection(__DIR__) SFRX_ASSIGN(PWMA_CR1, 4, (__DIR__))
140#define PWMA_SetCounterOnePulse(__STATE__) SFRX_ASSIGN(PWMA_CR1, 3, (__STATE__))
146#define PWMA_SetUpdateEventSource(__STATE__) SFRX_ASSIGN(PWMA_CR1, 2, (__STATE__))
150#define PWMA_SetNonUpdateEvent(__STATE__) SFRX_ASSIGN(PWMA_CR1, 1, (__STATE__))
154#define PWMA_SetCounterState(__STATE__) SFRX_ASSIGN(PWMA_CR1, 0, (__STATE__))
159#define PWMA_PWM1_SetPortState(__STATE__) SFRX_ASSIGN(PWMA_CCER1, 0, (__STATE__))
160#define PWMA_PWM1_SetPortPolar(__POLAR__) SFRX_ASSIGN(PWMA_CCER1, 1, (__POLAR__))
161#define PWMA_PWM1N_SetPortState(__STATE__) SFRX_ASSIGN(PWMA_CCER1, 2, (__STATE__))
162#define PWMA_PWM1N_SetPortPolar(__POLAR__) SFRX_ASSIGN(PWMA_CCER1, 3, (__POLAR__))
164#define PWMA_PWM2_SetPortState(__STATE__) SFRX_ASSIGN(PWMA_CCER1, 4, (__STATE__))
165#define PWMA_PWM2_SetPortPolar(__POLAR__) SFRX_ASSIGN(PWMA_CCER1, 5, (__POLAR__))
166#define PWMA_PWM2N_SetPortState(__STATE__) SFRX_ASSIGN(PWMA_CCER1, 6, (__STATE__))
167#define PWMA_PWM2N_SetPortPolar(__POLAR__) SFRX_ASSIGN(PWMA_CCER1, 7, (__POLAR__))
169#define PWMA_PWM3_SetPortState(__STATE__) SFRX_ASSIGN(PWMA_CCER2, 0, (__STATE__))
170#define PWMA_PWM3_SetPortPolar(__POLAR__) SFRX_ASSIGN(PWMA_CCER2, 1, (__POLAR__))
171#define PWMA_PWM3N_SetPortState(__STATE__) SFRX_ASSIGN(PWMA_CCER2, 2, (__STATE__))
172#define PWMA_PWM3N_SetPortPolar(__POLAR__) SFRX_ASSIGN(PWMA_CCER2, 3, (__POLAR__))
174#define PWMA_PWM4_SetPortState(__STATE__) SFRX_ASSIGN(PWMA_CCER2, 4, (__STATE__))
175#define PWMA_PWM4_SetPortPolar(__POLAR__) SFRX_ASSIGN(PWMA_CCER2, 5, (__POLAR__))
176#define PWMA_PWM4N_SetPortState(__STATE__) SFRX_ASSIGN(PWMA_CCER2, 6, (__STATE__))
177#define PWMA_PWM4N_SetPortPolar(__POLAR__) SFRX_ASSIGN(PWMA_CCER2, 7, (__POLAR__))
190#define PWMA_PWM1_SetPortDirection(__PORT_DIR__) do{ \
191 SFRX_ON();(PWMA_CCMR1 = PWMA_CCMR1 & ~(0x03 << 0) | ((__PORT_DIR__) << 0)); SFRX_OFF(); \
193#define PWMA_PWM2_SetPortDirection(__PORT_DIR__) do{ \
194 SFRX_ON();(PWMA_CCMR2 = PWMA_CCMR2 & ~(0x03 << 0) | ((__PORT_DIR__) << 0)); SFRX_OFF(); \
196#define PWMA_PWM3_SetPortDirection(__PORT_DIR__) do{ \
197 SFRX_ON();(PWMA_CCMR3 = PWMA_CCMR3 & ~(0x03 << 0) | ((__PORT_DIR__) << 0)); SFRX_OFF(); \
199#define PWMA_PWM4_SetPortDirection(__PORT_DIR__) do{ \
200 SFRX_ON();(PWMA_CCMR4 = PWMA_CCMR4 & ~(0x03 << 0) | ((__PORT_DIR__) << 0)); SFRX_OFF(); \
208#define PWMA_PWM1_SetComparePreload(__STATE__) SFRX_ASSIGN(PWMA_CCMR1, 3, (__STATE__))
209#define PWMA_PWM2_SetComparePreload(__STATE__) SFRX_ASSIGN(PWMA_CCMR2, 3, (__STATE__))
210#define PWMA_PWM3_SetComparePreload(__STATE__) SFRX_ASSIGN(PWMA_CCMR3, 3, (__STATE__))
211#define PWMA_PWM4_SetComparePreload(__STATE__) SFRX_ASSIGN(PWMA_CCMR4, 3, (__STATE__))
216#define PWMA_PWM1_ConfigOutputMode(__MODE__) do{ \
217 SFRX_ON();(PWMA_CCMR1 = PWMA_CCMR1 & ~(0x07 << 4) | ((__MODE__) << 4)); SFRX_OFF(); \
219#define PWMA_PWM2_ConfigOutputMode(__MODE__) do{ \
220 SFRX_ON();(PWMA_CCMR2 = PWMA_CCMR2 & ~(0x07 << 4) | ((__MODE__) << 4)); SFRX_OFF(); \
222#define PWMA_PWM3_ConfigOutputMode(__MODE__) do{ \
223 SFRX_ON();(PWMA_CCMR3 = PWMA_CCMR3 & ~(0x07 << 4) | ((__MODE__) << 4)); SFRX_OFF(); \
225#define PWMA_PWM4_ConfigOutputMode(__MODE__) do{ \
226 SFRX_ON();(PWMA_CCMR4 = PWMA_CCMR4 & ~(0x07 << 4) | ((__MODE__) << 4)); SFRX_OFF(); \
232#define PWMA_PWM1_SetCaptureCompareValue(__16BIT_VAL__) do{ \
234 (PWMA_CCR1H = ((__16BIT_VAL__) >> 8)); \
235 (PWMA_CCR1L = ((__16BIT_VAL__) & 0xFF)); \
238#define PWMA_PWM2_SetCaptureCompareValue(__16BIT_VAL__) do{ \
240 (PWMA_CCR2H = ((__16BIT_VAL__) >> 8)); \
241 (PWMA_CCR2L = ((__16BIT_VAL__) & 0xFF)); \
244#define PWMA_PWM3_SetCaptureCompareValue(__16BIT_VAL__) do{ \
246 (PWMA_CCR3H = ((__16BIT_VAL__) >> 8)); \
247 (PWMA_CCR3L = ((__16BIT_VAL__) & 0xFF)); \
250#define PWMA_PWM4_SetCaptureCompareValue(__16BIT_VAL__) do{ \
252 (PWMA_CCR4H = ((__16BIT_VAL__) >> 8)); \
253 (PWMA_CCR4L = ((__16BIT_VAL__) & 0xFF)); \
291#define PWMA_PWM1_SetPort(__ALTER_PORT__) do{ \
292 SFRX_ON();(PWMA_PS = PWMA_PS & ~(0x03 << 0) | ((__ALTER_PORT__) << 0)); SFRX_OFF(); \
294#define PWMA_PWM2_SetPort(__ALTER_PORT__) do{ \
295 SFRX_ON();(PWMA_PS = PWMA_PS & ~(0x03 << 2) | ((__ALTER_PORT__) << 2)); SFRX_OFF(); \
297#define PWMA_PWM3_SetPort(__ALTER_PORT__) do{ \
298 SFRX_ON();(PWMA_PS = PWMA_PS & ~(0x03 << 4) | ((__ALTER_PORT__) << 4)); SFRX_OFF(); \
300#define PWMA_PWM4_SetPort(__ALTER_PORT__) do{ \
301 SFRX_ON();(PWMA_PS = PWMA_PS & ~(0x03 << 6) | ((__ALTER_PORT__) << 6)); SFRX_OFF(); \
318#define PWMB_SetPrescaler(__16BIT_VAL__) do { \
320 (PWMB_PSCRH = ((__16BIT_VAL__) >> 8)); \
321 (PWMB_PSCRL = ((__16BIT_VAL__) & 0xFF)); \
325#define PWMB_SetPeriod(__16BIT_VAL__) do { \
327 (PWMB_ARRH = ((__16BIT_VAL__) >> 8)); \
328 (PWMB_ARRL = ((__16BIT_VAL__) & 0xFF)); \
333#define PWMB_SetOverallState(__STATE__) SFRX_ASSIGN(PWMB_BKR, 7, (__STATE__))
336#define PWMB_SetPinOutputState(__PINS__, __STATE__) do { \
338 PWMB_ENO = PWMB_ENO & ~(__PINS__) | (((__STATE__) & 0x01)? (__PINS__) : 0x00); \
343#define PWMB_SetPinBrakeControl(__PINS__, __STATE__) do { \
345 PWMB_IOAUX = PWMB_IOAUX & ~(__PINS__) | (((__STATE__) & 0x01)? (__PINS__) : 0x00); \
353#define PWMB_SetAutoReloadPreload(__STATE__) SFRX_ASSIGN(PWMB_CR1, 7, (__STATE__))
358#define PWMB_SetEdgeAlignment(__ALIGN__) do{ \
359 SFRX_ON();(PWMB_CR1 = PWMB_CR1 & ~(0x03 << 5) | ((__ALIGN__) << 5));SFRX_OFF(); \
366#define PWMB_SetCounterDirection(__DIR__) SFRX_ASSIGN(PWMB_CR1, 4, (__DIR__))
371#define PWMB_SetCounterOnePulse(__STATE__) SFRX_ASSIGN(PWMB_CR1, 3, (__STATE__))
377#define PWMB_SetUpdateEventSource(__STATE__) SFRX_ASSIGN(PWMB_CR1, 2, (__STATE__))
381#define PWMB_SetNonUpdateEvent(__STATE__) SFRX_ASSIGN(PWMB_CR1, 1, (__STATE__))
385#define PWMB_SetCounterState(__STATE__) SFRX_ASSIGN(PWMB_CR1, 0, (__STATE__))
390#define PWMB_PWM1_SetPortState(__STATE__) SFRX_ASSIGN(PWMB_CCER1, 0, (__STATE__))
391#define PWMB_PWM1_SetPortPolar(__POLAR__) SFRX_ASSIGN(PWMB_CCER1, 1, (__POLAR__))
393#define PWMB_PWM2_SetPortState(__STATE__) SFRX_ASSIGN(PWMB_CCER1, 4, (__STATE__))
394#define PWMB_PWM2_SetPortPolar(__POLAR__) SFRX_ASSIGN(PWMB_CCER1, 5, (__POLAR__))
396#define PWMB_PWM3_SetPortState(__STATE__) SFRX_ASSIGN(PWMB_CCER2, 0, (__STATE__))
397#define PWMB_PWM3_SetPortPolar(__POLAR__) SFRX_ASSIGN(PWMB_CCER2, 1, (__POLAR__))
399#define PWMB_PWM4_SetPortState(__STATE__) SFRX_ASSIGN(PWMB_CCER2, 4, (__STATE__))
400#define PWMB_PWM4_SetPortPolar(__POLAR__) SFRX_ASSIGN(PWMB_CCER2, 5, (__POLAR__))
413#define PWMB_PWM1_SetPortDirection(__PORT_DIR__) do{ \
414 SFRX_ON();(PWMB_CCMR1 = PWMB_CCMR1 & ~(0x03 << 0) | ((__PORT_DIR__) << 0)); SFRX_OFF(); \
416#define PWMB_PWM2_SetPortDirection(__PORT_DIR__) do{ \
417 SFRX_ON();(PWMB_CCMR2 = PWMB_CCMR2 & ~(0x03 << 0) | ((__PORT_DIR__) << 0)); SFRX_OFF(); \
419#define PWMB_PWM3_SetPortDirection(__PORT_DIR__) do{ \
420 SFRX_ON();(PWMB_CCMR3 = PWMB_CCMR3 & ~(0x03 << 0) | ((__PORT_DIR__) << 0)); SFRX_OFF(); \
422#define PWMB_PWM4_SetPortDirection(__PORT_DIR__) do{ \
423 SFRX_ON();(PWMB_CCMR4 = PWMB_CCMR4 & ~(0x03 << 0) | ((__PORT_DIR__) << 0)); SFRX_OFF(); \
431#define PWMB_PWM1_SetComparePreload(__STATE__) SFRX_ASSIGN(PWMB_CCMR1, 3, (__STATE__))
432#define PWMB_PWM2_SetComparePreload(__STATE__) SFRX_ASSIGN(PWMB_CCMR2, 3, (__STATE__))
433#define PWMB_PWM3_SetComparePreload(__STATE__) SFRX_ASSIGN(PWMB_CCMR3, 3, (__STATE__))
434#define PWMB_PWM4_SetComparePreload(__STATE__) SFRX_ASSIGN(PWMB_CCMR4, 3, (__STATE__))
439#define PWMB_PWM1_ConfigOutputMode(__MODE__) do{ \
440 SFRX_ON();(PWMB_CCMR1 = PWMB_CCMR1 & ~(0x07 << 4) | ((__MODE__) << 4)); SFRX_OFF(); \
442#define PWMB_PWM2_ConfigOutputMode(__MODE__) do{ \
443 SFRX_ON();(PWMB_CCMR2 = PWMB_CCMR2 & ~(0x07 << 4) | ((__MODE__) << 4)); SFRX_OFF(); \
445#define PWMB_PWM3_ConfigOutputMode(__MODE__) do{ \
446 SFRX_ON();(PWMB_CCMR3 = PWMB_CCMR3 & ~(0x07 << 4) | ((__MODE__) << 4)); SFRX_OFF(); \
448#define PWMB_PWM4_ConfigOutputMode(__MODE__) do{ \
449 SFRX_ON();(PWMB_CCMR4 = PWMB_CCMR4 & ~(0x07 << 4) | ((__MODE__) << 4)); SFRX_OFF(); \
455#define PWMB_PWM1_SetCaptureCompareValue(__16BIT_VAL__) do{ \
457 (PWMB_CCR5H = ((__16BIT_VAL__) >> 8)); \
458 (PWMB_CCR5L = ((__16BIT_VAL__) & 0xFF)); \
461#define PWMB_PWM2_SetCaptureCompareValue(__16BIT_VAL__) do{ \
463 (PWMB_CCR6H = ((__16BIT_VAL__) >> 8)); \
464 (PWMB_CCR6L = ((__16BIT_VAL__) & 0xFF)); \
467#define PWMB_PWM3_SetCaptureCompareValue(__16BIT_VAL__) do{ \
469 (PWMB_CCR7H = ((__16BIT_VAL__) >> 8)); \
470 (PWMB_CCR7L = ((__16BIT_VAL__) & 0xFF)); \
473#define PWMB_PWM4_SetCaptureCompareValue(__16BIT_VAL__) do{ \
475 (PWMB_CCR8H = ((__16BIT_VAL__) >> 8)); \
476 (PWMB_CCR8L = ((__16BIT_VAL__) & 0xFF)); \
513#define PWMB_PWM1_SetPort(__ALTER_PORT__) do{ \
514 SFRX_ON();(PWMB_PS = PWMB_PS & ~(0x03 << 0) | ((__ALTER_PORT__) << 0)); SFRX_OFF(); \
516#define PWMB_PWM2_SetPort(__ALTER_PORT__) do{ \
517 SFRX_ON();(PWMB_PS = PWMB_PS & ~(0x03 << 2) | ((__ALTER_PORT__) << 2)); SFRX_OFF(); \
519#define PWMB_PWM3_SetPort(__ALTER_PORT__) do{ \
520 SFRX_ON();(PWMB_PS = PWMB_PS & ~(0x03 << 4) | ((__ALTER_PORT__) << 4)); SFRX_OFF(); \
522#define PWMB_PWM4_SetPort(__ALTER_PORT__) do{ \
523 SFRX_ON();(PWMB_PS = PWMB_PS & ~(0x03 << 6) | ((__ALTER_PORT__) << 6)); SFRX_OFF(); \
@ PWMA_PWM4_AlterPort_P66_P67
@ PWMA_PWM4_AlterPort_P34_P33
@ PWMA_PWM4_AlterPort_P16_P17
@ PWMA_PWM4_AlterPort_P26_P27
@ PWMB_PWM8_AlterPort_P03
@ PWMB_PWM8_AlterPort_P23
@ PWMB_PWM8_AlterPort_P77
@ PWMB_PWM8_AlterPort_P34
@ PWM_OutputMode_PWM_LowIfLess
@ PWM_OutputMode_TriggerLow
@ PWM_OutputMode_AlwaysLow
@ PWM_OutputMode_NoAction
@ PWM_OutputMode_TriggerToggle
@ PWM_OutputMode_AlwaysHigh
@ PWM_OutputMode_TriggerHigh
@ PWM_OutputMode_PWM_HighIfLess
@ PWMB_PWM5_AlterPort_P74
@ PWMB_PWM5_AlterPort_P00
@ PWMB_PWM5_AlterPort_P20
@ PWMB_PWM5_AlterPort_P17
@ PWMA_PortDirIn_TI2FP1_TI1FP2_TI4FP3_TI3FP4
@ PWMA_PortDirIn_TI1FP1_TI2FP2_TI3FP3_TI4FP4
@ PWMA_PWM2_AlterPort_P22_P23
@ PWMA_PWM2_AlterPort_P12P54_P13
@ PWMA_PWM2_AlterPort_P62_P63
@ PWMB_PWM7_AlterPort_P33
@ PWMB_PWM7_AlterPort_P76
@ PWMB_PWM7_AlterPort_P22
@ PWMB_PWM7_AlterPort_P02
@ PWMA_PWM1_AlterPort_P10_P11
@ PWMA_PWM1_AlterPort_P20_P21
@ PWMA_PWM1_AlterPort_P60_P61
@ PWMB_PWM6_AlterPort_P75
@ PWMB_PWM6_AlterPort_P54
@ PWMB_PWM6_AlterPort_P01
@ PWMB_PWM6_AlterPort_P21
@ PWMB_PortDirIn_TI5FP5_TI6FP6_TI7FP7_TI8FP8
@ PWMB_PortDirIn_TI6FP5_TI5FP6_TI8FP7_TI7FP8
@ PWM_CounterDirection_Up
@ PWM_CounterDirection_Down
@ PWM_EdgeAlignment_CenterBoth
@ PWM_EdgeAlignment_CenterUp
@ PWM_EdgeAlignment_CenterDown
@ PWMA_PWM3_AlterPort_P24_P25
@ PWMA_PWM3_AlterPort_P14_P15
@ PWMA_PWM3_AlterPort_P64_P65