时钟问题

[复制链接]
889|3
 楼主| someonewho 发表于 2014-6-25 21:46 | 显示全部楼层 |阅读模式
学了下C2000F28027产生PWM波形,用的是IntOsc1Sel();10M倍频后为60M,产生PWM时TB没有分频,产生PWM后反推时钟却为30M,这是什么原因
 楼主| someonewho 发表于 2014-6-25 21:46 | 显示全部楼层
程序如下:
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 发表于 2014-6-25 22:46 | 显示全部楼层
你设置的PWM的频率是跟TBPRD有关的,另外与.CTRMOD的值也有关系。在PWM的手册上有详细的介绍。
specialfrin 发表于 2014-6-25 22:52 | 显示全部楼层
前提是你不分频,如果分频后,就要把分频的因素也考虑进去。总之一句话,要了解清楚就查看手册。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

97

主题

1150

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部