This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PWM脉宽有点问题~



我设置的PD0,PD1分别作为M1PWM0 M1PWM1

配置PWM模块1发生器0:递减模式,不同步

40M时钟不分频:SysCtlPWMClockSet(SYSCTL_PWMDIV_1);

频率2000Hz:PWMGenPeriodSet(PWM1_BASE, PWM_GEN_0, 20000);

脉宽设置,占空比10%:

PWMPulseWidthSet(PWM1_BASE, PWM_OUT_0,2000);
PWMPulseWidthSet(PWM1_BASE, PWM_OUT_1,2000);
PWMDeadBandEnable(PWM1_BASE, PWM_GEN_0, 100, 100);//死区:上升沿下降沿均为100周期

但实测发现实际pwm波频率不是2khz,而是2.5k。

PD0口比较正常,PD1口波形占空比竟然不是10%而是90%(目测)

调试很久无果。。。求教啊

  • 通过PWMOutputInvert设置翻转电平可以解决占空比问题,但不过我的发生器gen1出来的两路波PWM0 PWM1这个翻转电平设置刚好是反的输出才对,就是一个true一个false。。我其他设置一样啊。。。最搞不懂的是频率2.5k而不是设置的2k