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.
您好!
在 https://www.ti.com/lit/ug/tidueg2c/tidueg2c.pdf?ts=1616667110428&ref_url=https%253A%252F%252Fwww.google.com%252F 的第35页 上、有一个包含3个中断的软件例程。
我的问题很简单-为什么 solution.h 文件执行第一个 ISR 两次? 如果 RUN_ISR1专用于使用新值更新 PWM 寄存器、那么为什么再次调用 RUN_ISR1来执行完全不同的函数、即读取新的 ADC 值等?
这应该是第二个 ISR、即 RUN_ISR2吗?
第二个 ISR 需要禁用到次级侧的相位同步。 这样可以减少抖动。 当使用高分辨率模式时、PWM 同步脉冲需要被最小化。
请参阅第31页的注释
"每次启用 ISR1时、都会触发两次。 在第一个 ISR1中、更新 PWM 寄存器并启用同步。 在第二个 ISR1中、PWM 同步被禁用、CMPC 被设置为一个值、这样 ISR1不会再次触发。 为简单起见、软件图和结构仅显示首次触发的 ISR1。"