为什么不是同频率呢?

2019-07-21 18:43发布

让EPWM1和EPWM2以相同的频率输出,只是前后相位不同,EPWM1主要设置如下(频率为100Hz)
        EPwm1Regs.TBPRD = 18750;
        EPwm1Regs.TBPHS.half.TBPHS = 0;
        EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;
        EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE;
        EPwm1Regs.TBCTL.bit.PRDLD = TB_SHADOW;
        EPwm1Regs.TBCTL.bit.SYNCOSEL =TB_CTR_ZERO;

        EPwm1Regs.TBCTL.bit.HSPCLKDIV = 2;
        EPwm1Regs.TBCTL.bit.CLKDIV = 2;   

        EPwm1Regs.CMPA.half.CMPA = 12500;
        EPwm1Regs.CMPB = 6250;
EPWM2的主要设置如下:
        EPwm2Regs.TBPRD = 18750;
        EPwm2Regs.TBPHS.half.TBPHS = 12500;                 
        EPwm2Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;
        EPwm2Regs.TBCTL.bit.PHSEN = TB_ENABLE;               //使能PHASE寄存器
        EPwm2Regs.TBCTL.bit.PRDLD = TB_SHADOW;
        EPwm2Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;

        EPwm2Regs.CMPA.half.CMPA = 12500;
        EPwm2Regs.CMPB = 6250;
为什么EPWM2的输出频率是800Hz,为什么不是同频率呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
huangchui
1楼-- · 2019-07-21 23:13
 精彩回答 2  元偷偷看……
shimx
2楼-- · 2019-07-22 04:17
嗯,只不过相位相同?
jiajs
3楼-- · 2019-07-22 04:39
在EPWM2中同样需要设置分频,加上这两句就好了
EPwm2Regs.TBCTL.bit.HSPCLKDIV = 2;
EPwm2Regs.TBCTL.bit.CLKDIV = 2;
zhanghqi
4楼-- · 2019-07-22 07:14
是啊,毕竟EPwm1Regs.TBCTL.bit.HSPCLKDIV 、EPwm1Regs.TBCTL.bit.CLKDIV    两个位都是属于EPWM1的,挺容易忘记
zhenykun
5楼-- · 2019-07-22 11:32
2000的EPWM多路之间真的蛮独立的。
shimx
6楼-- · 2019-07-22 13:22
 精彩回答 2  元偷偷看……

一周热门 更多>