TI中文支持网
TI专业的中文技术问题搜集分享网站

关于ControlSUITE中的文件f2833xpwm.h中初始化的问题

在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是如何对应的?

HeiHei:

如上图所示,你可以到在头文件中找到如上定义,定义了一个EPWM_REGS型的指针数组,数组里的变量是指向EPwmnRegs寄存器的。也就是说

(ePWM[ch1])  = &EPwm1Regs 

*(ePWM[ch1])  = EPwm1Regs 

赞(0)
未经允许不得转载:TI中文支持网 » 关于ControlSUITE中的文件f2833xpwm.h中初始化的问题
分享到: 更多 (0)