void InitEPwmTimer(void) { EALLOW; SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 0; // Stop all the TB clocks EDIS; // Setup Sync EPwm8Regs.TBCTL.bit.SYNCOSEL = 0; // Pass through // Allow each timer to be sync'ed // EPwm8Regs.TBCTL.bit.PHSEN = 1; // EPwm8Regs.TBPHS.half.TBPHS = 200; EPwm8Regs.TBPRD = CpuTimer2Regs.PRD.all; // Période de l'ePWM = période du Timer 2 EPwm8Regs.TBCTL.bit.CTRMODE = 0; // Count up // EPwm8Regs.ETSEL.bit.INTSEL = 1; // Enable INT on Zero event // EPwm8Regs.ETSEL.bit.INTEN = 1; // Enable INT // EPwm8Regs.ETPS.bit.INTPRD = 1; // Generate INT on 1st event EPwm8Regs.AQCTLA.bit.PRD = 2; // Set output high when counter equals period EALLOW; SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1; // Start all the timers synced EDIS; }