EpwmxRegs。 TBPRD 值是固定的、为我提供了固定的开关频率。 但我希望在每次计数器到达零时提供不同的 TBPRD。 那么、我需要设置哪些寄存器。
请帮助
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.
EpwmxRegs。 TBPRD 值是固定的、为我提供了固定的开关频率。 但我希望在每次计数器到达零时提供不同的 TBPRD。 那么、我需要设置哪些寄存器。
请帮助
感谢 Marlyn 的答复。
但这已经是完全失效的状态。 它如何帮助我们在每次 TBCTR 变为0时更改 TBPRD 值。 影子到活动加载只是加载 TBPRD 值的一种方法。
那么、您的意思是说这一点
EPwm8Regs.TBCTL.bit.PRDLD = TB_SHADOW
将有助于我们更改 TBPRD 值。 但是、我们应该如何告诉控制器、一旦 TBCTR =0、现在加载一个不同的 TBPRD 值。
TBPRD 的值 应如图所示。 非常感谢您的帮助。 谢谢
Suryavalli

您好、Suryavalli、
我不确定您的编码结构是什么样子、也不确定如何推导新的时基周期值、但您应该只能通过写入寄存器本身 EPwm8Regs.TBPRD = new_TBPRD_value 来更改它;
如果在 TBCTR = 0时执行影子到活动加载、则意味着写入 TBPRD 的新值将仅在下一次 TBCTR = 0时生效。
在这里/当你决定更新 TBPRD 的值时由你决定。 我建议您在程序中的 ISR 期间进行此更新。
此致、
Marlyn