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.
Dear team:
My client wants to clear the TZCLR[CBC] bit in the TZ interrupt, but it has no effect (there is indeed an entry interrupt). It can only be cleared when CTR=zero.
He made some modifications on the basis of routines. The following are some of his code settings:
EALLOW; // Define an event (DCAEVT1) based on TZ1 and TZ2 EPwm1Regs.DCTRIPSEL.bit.DCALCOMPSEL = DC_COMP1OUT; // DCAL = Comparator 1 output // EPwm1Regs.TZDCSEL.bit.DCAEVT2 = TZ_DCAL_LOW; // DCAEVT2 = DCAL low(will become active as Comparator output goes low) EPwm1Regs.DCACTL.bit.EVT2SRCSEL = DC_EVT2; // DCAEVT2 = DCAEVT2 (not filtered) EPwm1Regs.DCACTL.bit.EVT2FRCSYNCSEL = DC_EVT_ASYNC; // Take async path EPwm1Regs.TZSEL.bit.DCAEVT2 = 1; EPwm1Regs.TZCTL.bit.TZA= TZ_FORCE_LO; // EPWM1A will go high EPwm1Regs.TZCTL.bit.TZB = TZ_NO_CHANGE; // EPWM1B will go low EPwm1Regs.TZEINT.bit.CBC = 1;
Will the above code cause the problem mentioned by the customer?
Best regards
These registers are EALLOW protected, can you confirm that you have disabled EALLOW protection?
Thanks,
Cody