/* * 日期:2018-1-27 * 功能:对ePWM1A和ePWM1B这一对互补信号进行2.344 MHz的高频斩波, * 斩波模式占空比为50%,单触发脉冲宽度为800 ns */ void InitEPwm1Example() { EPwm1Regs.TBCTL.bit.CLKDIV = 0; // CLKDIV = 1 EPwm1Regs.TBCTL.bit.HSPCLKDIV = 1; // HSPCLKDIV = 2 EPwm1Regs.TBCTL.bit.CTRMODE = 2; // 增减计数模式 // ePWM1A 计数值等于0,置高电平。 // ePWM1A计数值等于PRD,置低电平。 EPwm1Regs.AQCTLA.all = 0x0060; // 增计数时,ePWM1B 计数值等于CMPA置高电平。 // 减计数时,ePWM1B计数值等于 CMPA 置低电平。 EPwm1Regs.AQCTLB.all = 0x0600; EPwm1Regs.TBPRD = 37500; // 1KHz PWM 信号 EPwm1Regs.CMPA.half.CMPA = EPwm1Regs.TBPRD / 2; // 50%占空比 EPwm1Regs.CMPB = EPwm1Regs.TBPRD / 2; EPwm1Regs.PCCTL.bit.CHPFREQ = 7; // SYSCLKOUT / 64(2的8次方) = 2.34375MHz EPwm1Regs.PCCTL.bit.CHPDUTY = 3; // 50% 占空比 EPwm1Regs.PCCTL.bit.CHPEN = 1; // 使能斩波模式 EPwm1Regs.PCCTL.bit.OSHTWTH = 14; // 120 *6.67 ns = 800 ns,第一个脉冲宽度 }
1kHz
2.344MHz
800ns
原文:https://www.cnblogs.com/stringer123456/p/14227549.html