主题中讨论的其他器件:LAUNCHXL-F280025C
你好。
我在设置 ePWM 模块时遇到了一些问题。
当 GPIO12和 GPIO13多路复用为 ePWM7时、下面针对 ePWM7的初始化代码片段正常工作、而当 GPIO28和 GPIO29多路复用为 ePWM7时则不能正常工作。
此外、相同的代码(复制和粘贴、除了改变时钟使能、引脚复用和寄存器文件)适用于 ePWM1至 ePWM4、但不适用于 ePWM5、ePWM6和 ePWM7。
如果情况很重要、我 将在 LAUNCHXL-F280025C 上尝试这种方法。
我不知道我错过了什么-任何帮助都将不胜感激。
此致、
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;
