Other Parts Discussed in Thread: LAUNCHXL-F280025C
Hello.
I am having some trouble setting up the ePWM module.
The initialisation code snippet below for ePWM7 works just fine when GPIO12 and GPIO13 are muxed to ePWM7, but not when GPIO28 and GPIO29 are muxed to ePWM7 instead.
Additionally, the same code (copied and pasted, except for changing the clock enables, pin muxing, and register file) works for ePWM1 to ePWM4, but does not work for ePWM5, ePWM6, and ePWM7.
In case it matters, I am trying this out on a LAUNCHXL-F280025C.
I don't know what I've missed - any assistance would be greatly appreciated.
Regards,
Vishnu
EALLOW;
CpuSysRegs.PCLKCR2.bit.EPWM7 = 1;
GpioCtrlRegs.GPAGMUX2.bit.GPIO28 = 0x0;
GpioCtrlRegs.GPAMUX2.bit.GPIO28 = 0x3;
GpioCtrlRegs.GPAGMUX2.bit.GPIO29 = 0x0;
GpioCtrlRegs.GPAMUX2.bit.GPIO29 = 0x3;
GpioCtrlRegs.GPAQSEL2.bit.GPIO28=0x3;
GpioCtrlRegs.GPAQSEL2.bit.GPIO29=0x3;
// GpioCtrlRegs.GPAGMUX1.bit.GPIO12 = 0x0;
// GpioCtrlRegs.GPAMUX1.bit.GPIO12 = 0x1;
// GpioCtrlRegs.GPAGMUX1.bit.GPIO13 = 0x0;
// GpioCtrlRegs.GPAMUX1.bit.GPIO13 = 0x1;
// GpioCtrlRegs.GPAQSEL1.bit.GPIO12=0x3;
// GpioCtrlRegs.GPAQSEL1.bit.GPIO13=0x3;
EDIS;
EPwm7Regs.TBPRD = 500;
EPwm7Regs.CMPA.bit.CMPA = 125;
EPwm7Regs.CMPB.bit.CMPB = 250;
EPwm7Regs.TBCTL.bit.CLKDIV = 0x0;
EPwm7Regs.TBCTL.bit.HSPCLKDIV = 0x1;
EPwm7Regs.TBCTL.bit.PHSEN=TB_DISABLE;
EPwm7Regs.TBPHS.bit.TBPHS=0;
EPwm7Regs.TBCTR=0;
EPwm7Regs.TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN;
EPwm7Regs.TBCTL.bit.PRDLD = TB_SHADOW;
EPwm7Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
EPwm7Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
EPwm7Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; // load on CTR = Zero
EPwm7Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; // load on CTR = Zero
EPwm7Regs.AQCTLA.bit.CAU = AQ_CLEAR;
EPwm7Regs.AQCTLA.bit.CAD = AQ_SET;
EPwm7Regs.AQCTLB.bit.CBU = AQ_CLEAR;
EPwm7Regs.AQCTLB.bit.CBD = AQ_SET;
EPwm7Regs.ETSEL.bit.SOCAEN=0;
EPwm7Regs.ETSEL.bit.SOCASEL=1;
EPwm7Regs.ETSOCPS.bit.SOCAPRD2=1;
EPwm7Regs.ETSEL.bit.SOCAEN=1;
