时钟问题

2019-08-01 16:12发布

学了下C2000F28027产生PWM波形,用的是IntOsc1Sel();10M倍频后为60M,产生PWM时TB没有分频,产生PWM后反推时钟却为30M,这是什么原因
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
someonewho
1楼-- · 2019-08-01 18:32
程序如下:
void InitEPWM3(void)
{
        EPwm1Regs.TBPRD= 1200; // Period = 1201 TBCLKcounts
        EPwm1Regs.TBPHS.half.TBPHS = 0; // Set Phaseregister to zero
        EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; // Asymmetrical mode
        EPwm1Regs.TBCTL.bit.PHSEN= TB_DISABLE; // Phaseloading disabled
        EPwm1Regs.TBCTL.bit.PRDLD= TB_SHADOW;
        EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_DISABLE;
        EPwm1Regs.TBCTL .bit .HSPCLKDIV = TB_DIV1;     // Clock ratio to SYSCLKOUT
        EPwm1Regs.TBCTL .bit .CLKDIV  = TB_DIV1;
        EPwm1Regs.CMPCTL.bit.SHDWAMODE= CC_SHADOW;
        EPwm1Regs.CMPCTL.bit.SHDWBMODE= CC_SHADOW;
        EPwm1Regs.CMPCTL.bit.LOADAMODE= CC_CTR_ZERO; // load on CTR=Zero
        EPwm1Regs.CMPCTL.bit.LOADBMODE= CC_CTR_ZERO; // load on CTR=Zero
        EPwm1Regs.AQCTLA.bit.PRD = AQ_CLEAR;
        EPwm1Regs.AQCTLA.bit.CAU = AQ_SET;
}


求大神指点
justbybing
2楼-- · 2019-08-02 00:01
你设置的PWM的频率是跟TBPRD有关的,另外与.CTRMOD的值也有关系。在PWM的手册上有详细的介绍。
specialfrin
3楼-- · 2019-08-02 05:03
前提是你不分频,如果分频后,就要把分频的因素也考虑进去。总之一句话,要了解清楚就查看手册。

一周热门 更多>