interrupt void Cla1Task1 (void)
{
//Local Variables
//i=fGridVoltRatio;
//Code
__mdebugstop();
//int i;
Num = 100.0;
Den = 10.0;
//i++;
GpioDataRegs.GPATOGGLE.bit.GPIO20 = 1;
__meallow();
EPwm12Regs.CMPB.bit.CMPB = 10;
EPwm1Regs.CMPA.bit.CMPA = 100;
__medis();
//
/*if(EPwm1Regs.CMPA.bit.CMPA >= 400)
{
EPwm1Regs.CMPA.bit.CMPA--;
}
if(EPwm1Regs.CMPA.bit.CMPA <= 40)
{
EPwm1Regs.CMPA.bit.CMPA++;
}*/
// Res = CLAdiv(Num,Den);
Res = Num/Den;
}
可以肯定程序是进到CLA TASK了,因为测试到GPIO20反转了,也计算出来了RES的值,但是单步调试时,EPwm1Regs.CMPA.bit.CMPA是我初始化的值,而不会变成100,请问这是什么原因?CLA访问EPwm1Regs.CMPA.bit.CMPA还需要配置其他的吗?或者是CMD文件需要特别的配置。