尊敬的:
在我的项目中,ePWM的配置如下:
EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UDOWN;
EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE;
EPwm1Regs.TBCTL.bit.PRDLD = TB_shadow;
EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_CTR归零;/
EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;
EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1;
EPwm1Regs.TBCTL.bit.FREE_SOFT = 0x0;
//设置阴影
EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHAME;
EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADO;
EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO_PRD;
EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO_PRD;
//设置操作
EPwm1Regs.AQCTLA.bit.CAU = AQ_SET;
EPwm1Regs.AQCTLA.bit.CAD = AQ_CLEAR;
EPwm1Regs.AQCTLB.bit.CBU = AQ_SET;
EPwm1Regs.AQCTLB.bit.CBD = AQ_CLEAR;
....
我想在一个PWM周期中更新占空比(比较值)两次。但是,有时工作不好。即,新的占空比在此期间无法生效,但下一个。我的配置是否有问题? 我应该怎么做才能解决此问题?