我设置的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
根据你结果反推来看,你的系统时钟实际上应该不是你说的 40Mhz,是 50Mhz 吧?确认一下。