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.

CLA中可以使用变量给PWM的寄存器赋值吗?

Other Parts Discussed in Thread: CONTROLSUITE
 我在CLA的task1中操作PWM寄存器,但是遇到了以下问题:
    编程方法1:EPwm2Regs.CMPA.half.CMPA=1400;
                        EPwm2Regs.CMPB=100;
    编程方法2:int    DutyA;
                        int    DutyB;
                        DutyA=1400;
                        DutyB=100;
                        EPwm2Regs.CMPA.half.CMPA=DutyA;
                        EPwm2Regs.CMPB=DutyB;

    采用编程方法1编程调试输出的波形是想要的,也是跟程序代码相符合的PWM波形。但是采用编程方法2编程调试输出的波形是不正确的。

    如果在CPU的main函数中按照这两种编程方法进行编程,输出的波形是一样的,并且都是正确的,但是为什么在CLA中进行这样的编程操作输出的波形是不一样的呢?

    因为我要进行PWM占空比的调制,所以DutyA和DutyB都是经过公式计算得到的值,因此CMPA和CMPB只能通过变量赋值,不知道该怎么解决这个问题?请大家帮忙分析一下,谢谢。