下面是我的代码片段:

我面临的问题是,如果条件不满足, EPwm10、EPwm11 和 EPwm12 OST 应按该顺序设置。 现在 if 语句处于连续的 while 循环中、并且持续检查条件、因此会设置所有 ePWM 的 OST。 但是、如果仅检查此条件一次、则仅 设置 EPwm11和 EPwm12 OST、但 EPwm10 OST 保持清除状态。 声明 需要重复执行 EPwm10Regs.TZCLR.bit.OST = 1才能设置 OST。 任何建议。
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.
下面是我的代码片段:

我面临的问题是,如果条件不满足, EPwm10、EPwm11 和 EPwm12 OST 应按该顺序设置。 现在 if 语句处于连续的 while 循环中、并且持续检查条件、因此会设置所有 ePWM 的 OST。 但是、如果仅检查此条件一次、则仅 设置 EPwm11和 EPwm12 OST、但 EPwm10 OST 保持清除状态。 声明 需要重复执行 EPwm10Regs.TZCLR.bit.OST = 1才能设置 OST。 任何建议。
您好、Manish:
不确定我是否完全理解这里的问题。
然而,如果此条件仅检查一次,则仅 EPwm11和 EPwm12 OST 被设置,但 EPwm10 OST 仍保持清除状态。[/报价]从代码中、无论代码执行一次或多次、它都应该为所有设置和清除 OST 10、11、12。
我建议单步执行代码并将断点放在 epwm10 OST 设置的位置、以验证一旦您对 epwm10执行 TZFRC、标志就会在 TZFLG.OST 中设置。
[/quote]Unknown 说:声明 需要重复执行 EPwm10Regs.TZCLR.bit.OST = 1才能设置 OST。 [/报价]你的意思是什么 TZCLR 需要 执行 OST 设置? OST 由 TZFRC 寄存器置位。
谢谢!