CpuSysRegs.PCLKCR2.bit.EPWM1=1;
打开EPWM时钟
EALLOW;
ClkCfgRegs.PERCLKDIVSEL.bit.EPWMCLKDIV = 0;
第一步PWM时钟对于系统时钟不分频
CpuSysRegs.PCLKCR0.bit.TBCLKSYNC = 0;
关闭所有TB时钟
EDIS;
EPwm1Regs.TBCTL.bit.SYNCOSEL = 0;
同步输出信号选择
EPwm1Regs.TBCTL.bit.PHSEN = 0;
同步输出功能开关
EPwm1Regs.TBPHS.all = 0;
同步输出触发时复位偏移量
EPwm1Regs.TBPRD = PWM_TIMER_TBPRD_INIT;
设置TB计数周期
EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;
决定TB计数模式
EPwm1Regs.TBCTL.bit.CLKDIV = TPWM_KTDIV;
EPwm1Regs.TBCTL.bit.HSPCLKDIV = 0;
决定最终PWM时钟相对于系统时钟是几分频,CLKDIV 和HSPCLKDIV 两个分频系数是相乘关系
EPwm1Regs.TBCTR = 0x0000;
TB计数清零
EPwm1Regs.CMPA.bit.CMPA = PWM_TIMER_TBPRD_INIT>>1;
EPwm1Regs.CMPB.bit.CMPB = PWM_TIMER_TBPRD_INIT>>1;
设置AB两比较寄存器数值
EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
28377D芯片EPWM模块调试记录(1)
最新推荐文章于 2025-04-16 20:38:21 发布