在ControlSUITE中的文件f2833xpwm.h中,有如下对ePWM进行初始化的语句:
#define PWM_INIT_MACRO(ch1,ch2,ch3,v) \
/* Setup Sync*/ \
(*ePWM[ch1]).TBCTL.bit.SYNCOSEL = 0; /* Pass through*/ \
(*ePWM[ch2]).TBCTL.bit.SYNCOSEL = 0; /* Pass through*/ \
(*ePWM[ch3]).TBCTL.bit.SYNCOSEL = 0; /* Pass through*/ \
为什么用(*ePWM[ch1]).TBCTL.bit.SYNCOSEL,而不用 EPwm1Regs.TBCTL.bit.SYNCOSEL?因为在文件DSP2833x_EPwm.h中是定义了extern volatile struct EPWM_REGS EPwm1Regs的
(*ePWM[ch1])和EPwm1Regs是如何对应的?