尊敬的 TI 专家:
我使用的是编译器版本 v22.6.0.1.LTS 的 F28P650DK9。
我的目标是让软件强制三个 ePWM 模块跳闸、但我无法每次执行代码时都跳闸所有这些模块。
以下是该问题的说明:
[案例1]
我依次执行软件强制跳闸到 EPwm15Regs、EPwm17Regs 和 EPwm18Regs、并且还使用 EALLOW 和 EDIS 以确保寄存器正确设置。
EALLOW; EPwm15Regs.TZFRC.bit.OST = 1; EPwm17Regs.TZFRC.bit.OST = 1; EPwm18Regs.TZFRC.bit.OST = 1; EDIS;
下面的波形代表 EPWM15A、EPWM15B、 EPWM17A、EPWM17B、EPWM18A、 EPWM18B 信号。 红线左侧表示正常波形(所有 PWM 模块激活)、红线右侧表示强制跳闸操作的结果。 但是、只有 EPWM15未成功跳闸。

[案例2]
我已经尝试在后面添加一行代码用于调试。 我发现结果发生变化、事实证明 EPWM17未成功跳闸。
EALLOW; EPwm15Regs.TZFRC.bit.OST = 1; EPwm17Regs.TZFRC.bit.OST = 1; EPwm18Regs.TZFRC.bit.OST = 1; GpioDataRegs.GPCTOGGLE.bit.GPIO68 = 1; EDIS;

我想问一下如何解释上述两种情况、或者我的寄存器设置是否存在问题?