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

关于28335的ePWM的TBCTL的设置问题

/* Init Timer-Base Control Register for EPWM1-EPWM3*/ \
(*ePWM[ch1]).TBCTL.all = PWM_INIT_STATE; \
(*ePWM[ch2]).TBCTL.all = PWM_INIT_STATE; \
(*ePWM[ch3]).TBCTL.all = PWM_INIT_STATE; \

上面代码是对TBCTL的设置,其中PWM_INIT_STATE是下面代码,

#define PWM_INIT_STATE ( FREE_RUN_FLAG + \
PRDLD_IMMEDIATE + \
TIMER_CNT_UPDN + \
HSPCLKDIV_PRESCALE_X_8 + \
CLKDIV_PRESCALE_X_8 + \
PHSDIR_CNT_UP + \
CNTLD_DISABLE )

我想单独设置HSPCLKDIV和CLKDIV两个时钟的分频系数,但是编写如下代码后,TBCTL寄存器的值仍然和PWM_INIT_STATE的设置一致,然后我将

HSPCLKDIV_PRESCALE_X_8 + \  CLKDIV_PRESCALE_X_8 + \这两句删除以后,寄存器的值还是和我配置的不一样。

(*ePWM[ch1]).TBCTL.bit.HSPCLKDIV = 0x0100; \
(*ePWM[ch2]).TBCTL.bit.HSPCLKDIV = 0x0100; \
(*ePWM[ch3]).TBCTL.bit.HSPCLKDIV = 0x0100; \
\
(*ePWM[ch1]).TBCTL.bit.CLKDIV = 0x0400; \
(*ePWM[ch2]).TBCTL.bit.CLKDIV = 0x0400; \
(*ePWM[ch3]).TBCTL.bit.CLKDIV =0x0400; \

请问:怎样才能单独改变两个分频系数?

          比如说我在中断中改变分频系数的值(进一次中断改变一次两个分频系数的值)应该怎么做?

Seven Han:建议您参考下Example_2833xEPwmUpAQ例程。

赞(0)
未经允许不得转载:TI中文支持网 » 关于28335的ePWM的TBCTL的设置问题
分享到: 更多 (0)