想EPWM3A ,3B分别输出2个不同占空比的pwm波,配置差不多跟文档例子里的一样了 ,但是B口还是出来跟A口一样的波,求助 EPwm3Regs.TBPRD = 1125; // Switch Period Counter
EPwm3Regs.TBPHS.half.TBPHS = 0; // Set Phase register to zero
EPwm3Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;
EPwm3Regs.TBCTL.bit.PHSEN = TB_ENABLE; // Phase loading disabled
EPwm3Regs.TBCTL.bit.PRDLD = TB_SHADOW;
EPwm3Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;// EPwm3Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1; // TBCLK = SYSCLK
EPwm3Regs.TBCTL.bit.CLKDIV = TB_DIV1;
EPwm3Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
EPwm3Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
EPwm3Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; // load on CTR = Zero or PRD
EPwm3Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; // load on CTR = Zero or PRD
EPwm3Regs.AQCTLA.bit.CAU = AQ_SET; // CNT = CMP up ->1
EPwm3Regs.AQCTLA.bit.CAD = AQ_CLEAR; // CNT = CMP down ->0
EPwm3Regs.AQCTLB.bit.CAU = AQ_SET; // CNT = CMP up ->0
EPwm3Regs.AQCTLB.bit.CAD = AQ_CLEAR; // CNT = CMP down ->1
EPwm3Regs.CMPA.half.CMPA =500;
EPwm3Regs.CMPB= 200;
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
EPwm3Regs.AQCTLA.bit.CAD = AQ_CLEAR; // CNT = CMP down ->0
EPwm3Regs.AQCTLB.bit.CAU = AQ_SET; // CNT = CMP up ->0
EPwm3Regs.AQCTLB.bit.CAD = AQ_CLEAR; // CNT = CMP down ->1
问题好像在这儿吧,你AQCTLB寄存器配置的和AQCTLA一样出来的波形肯定一样了。AQCTL寄存器里应该有CBU和CBD控制位吧。现在手里没有数据手册。你自己看一下
一周热门 更多>