大家好、
我使用 F28335来触发逆变器的脉冲。 逆变器开关频率为100kHz。 我有一些控制计算大约需要60-70us、而 ewpm 中断每10us 出现一次。 我在前面的帖子中询问了一些有关这方面的问题。 提供了两种解决方案。 我对这些问题有一些疑问。
1)我被告知在 代码的这两部分之间握手。我被告知在计算完成时设置一个标志,然后将 ePWM ISR 打包成一个“if”语句,检查是否设置了标志,否则它只会返回到您的应用程序代码。
但我发现 、一旦 PWM 中断被启用、中断就会被执行、即使它在一个 if 语句内并且给出的条件不是真的。
2) 2)还被告知使用两个单独的计时器。 一个用于 CPU (60us)、一个用于 ePWM (10us)。 CPU 定时器的优先级高于 ePWM 定时器。 那么,如何将两个计时器的时钟同步在一起? 此外、 当第6个 ePWM 中断与第1个 CPU 中断一同到达时、控制代码会被执行吗?
3) 3)此外、如果我在无限的'for '循环中编写控制代码、则在不使用 ePWM 中断的情况下设置设置 EPwm1Regs.CMPA.half-CMPA=占空比(占空比由控制代码计算)、这是否起作用?
此致