
我正在使用两个 PWM 信号:频率为25kHz 的 PWM1、占空比为80%的 PWM2和频率为250kHz、占空比为50%的 PWM2 (可在运行时调整)。
下面是我当前使用的方法:
- 在向上计数和向下计数阶段、我在发生 CMPX 事件时从 PWM1生成中断。 在 ISR 内切换中断源、因此第一次在向上计数时触发中断、第二次在向下计数 CMPX 事件时触发中断。
- 当 PWM1计数器正在递增计数并且 ISR 被执行时、一个标志被设定为1。 在递减计数 CMPX 中断期间、标志设置为0。
- 在向上计数阶段、我在每个 CMPX 事件中从 PWM2 (250kHz)生成一个中断。
- 在 PWM2 ISR 中、我读取由 PWM1设置的标志。 如果标志为1、则使用 TZ 模块启用 PWM2 (250kHz)。 如果标志为0、使用 TZ 模块将 PWM2关闭。
观察结果 :
- PWM 信号在开始时开启、在结束时关闭、但这并不能保持对称的 PWM 模式。
发行 :
- 如何实现对称 PWM 开关、确保 PWM 以对称方式开启和关闭? 请提供实现对称 PWM 的方法建议。