TMS320F28377S: 通过中断修改DC模块的SWVDELVAL来实现延时,为什么延时不能及时更新。

Part Number: TMS320F28377S
Other Parts Discussed in Thread: C2000WARE

   问题如上,我的DC模块配置如下,我在中断里修改 EPwm2Regs.SWVDELVAL,但延时无法及时更新,并且我在CCS中实时观测EPwm2Regs.HWVDELVAL值,与 EPwm2Regs.SWVDELVAL不等。

    EPwm2Regs.DCAHTRIPSEL.bit.TRIPINPUT4 = 1;//DCAH = TRIP4
    EPwm2Regs.TZDCSEL.bit.DCAEVT1 = 2;//对选定 DCAH 信号的操作,DCAH = 高
    EPwm2Regs.DCACTL.bit.EVT1SRCSEL = 1;
    EPwm2Regs.DCACTL.bit.EVT1FRCSYNCSEL = 1;
    EPwm2Regs.DCACTL.bit.EVT1SYNCE = 1;
    //时间滤波
    EPwm2Regs.DCFCTL.bit.SRCSEL = 0;
    EPwm2Regs.DCFCTL.bit.EDGEFILTSEL = 1;   //enable edge filter
    EPwm2Regs.DCFCTL.bit.EDGEMODE = 0;      //Edge Mode Select
    EPwm2Regs.DCFCTL.bit.EDGECOUNT = 0;      // Edge Count
    //谷底+延时
    EPwm2Regs.VCAPCTL.bit.TRIGSEL = 1;//选择触发源作为重置并重新启动边沿滤波器
    EPwm2Regs.VCAPCTL.bit.VCAPE = 1;//
    EPwm2Regs.VCAPCTL.bit.EDGEFILTDLYSEL = 1;//应用 DELAY
    EPwm2Regs.VCAPCTL.bit.VDELAYDIV = 0;
    EPwm2Regs.SWVDELVAL= Tdelay;
    //消隐窗口
    EPwm2Regs.DCFCTL.bit.BLANKE = 1;
    EPwm2Regs.DCFCTL.bit.PULSESEL = 1;
    EPwm2Regs.DCFOFFSET = 1;
    EPwm2Regs.DCFWINDOW = 1;
    EPwm2Regs.DCCAPCTL.bit.CAPE = 0;