在ADuC841中,PWM的占空比设置是通过修改TMR2的寄存器来实现的。具体来说,将占空比值写入PWM2寄存器,并且在下一个溢出事件之前时,将它加载到TMR2寄存器中。因此,只有在下一个溢出事件发生之前,新的占空比值才会生效。
如果发现占空比为当前设置的占空比,生效的却是上一次设置的值,可能是因为两次设置之间的时间间隔过短,没有等待到下一个溢出事件。在设置占空比之后,建议等待至少一个完整的PWM周期,以确保新的占空比值得以生效。
另外,确保你的代码没有其他地方导致占空比值的更改。可能存在其他的中断或代码逻辑,会在设置新的占空比之前修改PWM2寄存器的值,导致上一次设置的占空比值仍然生效。
如果仍然无法解决问题,建议检查ADuC841的数据手册,查看PWM相关寄存器的配置和使用方式,确保正确设置并理解相关工作原理。
在ADuC841中,PWM的占空比设置是通过修改TMR2的寄存器来实现的。具体来说,将占空比值写入PWM2寄存器,并且在下一个溢出事件之前时,将它加载到TMR2寄存器中。因此,只有在下一个溢出事件发生之前,新的占空比值才会生效。
如果发现占空比为当前设置的占空比,生效的却是上一次设置的值,可能是因为两次设置之间的时间间隔过短,没有等待到下一个溢出事件。在设置占空比之后,建议等待至少一个完整的PWM周期,以确保新的占空比值得以生效。
另外,确保你的代码没有其他地方导致占空比值的更改。可能存在其他的中断或代码逻辑,会在设置新的占空比之前修改PWM2寄存器的值,导致上一次设置的占空比值仍然生效。
如果仍然无法解决问题,建议检查ADuC841的数据手册,查看PWM相关寄存器的配置和使用方式,确保正确设置并理解相关工作原理。
举报