依据数据手册此图:
PWM1,PWM2,PWM3为第一组,PWM4,PWM5,PWM6为第二组,PWM7,PWM8,PWM9为第三组。
PWM4是以PWM1为基准,PWM7是以PWM4为基准。其他按正常排序来。
例:有8路PWM, 设TBPRD = 10000,计数模式配置为增减计数(Up_Down),如下图:


两图所表达的意思相同,一个为平面坐标图,一个为实际示意图。
8路PWM配置:
EPwm1Regs.TBPHS.bit.TBPHS = 0x0000; // Phase is 0
EPwm2Regs.TBPHS.bit.TBPHS = TBPRD/4; // Phase is 2500
EPwm3Regs.TBPHS.bit.TBPHS = TBPRD/4; // Phase is 5000
EPwm4Regs.TBPHS.bit.TBPHS = TBPRD*3/4; // Phase is 7500
EPwm5Regs.TBPHS.bit.TBPHS = TBPRD/4; // Phase is 10000
EPwm6Regs.TBPHS.bit.TBPHS = TBPRD/4; // Phase is 12500
EPwm7Regs.TBPHS.bit.TBPHS = TBPRD*3/4; // Phase is 15000
EPwm8Regs.TBPHS.bit.TBPHS = TBPRD/4; // Phase is 17500
例:有6路PWM, 设TBPRD = 10000,计数模式配置为增减计数(Up_Down),如下图:
6路PWM配置:
EPwm1Regs.TBPHS.bit.TBPHS = 0x0000; // Phase is 0
EPwm2Regs.TBPHS.bit.TBPHS = TBPRD/3; // Phase is 3333
EPwm3Regs.TBPHS.bit.TBPHS = TBPRD/3; // Phase is 6666
EPwm4Regs.TBPHS.bit.TBPHS = TBPRD; // Phase is 10000
EPwm5Regs.TBPHS.bit.TBPHS = TBPRD/3; // Phase is 13333
EPwm6Regs.TBPHS.bit.TBPHS = TBPRD/3; // Phase is 16666
日常记录,仅供参考。