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.
你好。
我在设置 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;
您好!
对于 GPIO28和 GPIO29上出现的 ePWM7、配置似乎是正确的。
您正在监控 LAUNCHXL-F280025C 上的哪些引脚? 是否有任何其他电路连接到这些引脚?
您好、Subrahmanya、
我正在监控标有 IO28的引脚(如图所示)。 我还没有连接任何其他电路、只连接示波器探针。
我尝试在一个无限循环中切换引脚、延迟时间(在将它们设置为 GPIO 输出之后)与发出问题的 ePWM 相对应- GPIO18 (ePWM6_A)、GPIO19 (ePWM6_B)、GPIO28 (ePWM7_A)和 GPIO29 (ePWM7_B)。 它们没有切换。
我认为这可能是电路板的问题、所以我尝试了另一个相同的 launchpad、但另一个 LaunchPad 也发生了同样的情况。
请告诉我、您是否记得 Launchpad 有任何可能导致此问题的事情。 我仍然不熟悉此微控制器和开发板、因此可能错过了一些基本知识。
非常感谢你的帮助。
编辑:我还应该提到 、当我将寄存器放置在一个观察窗口上时、ePWM7似乎起作用(计数器不断变化)。 我还将每个寄存器与 ePWM1的寄存器进行了比较、以检查配置错误。 但它们是相同的。 我确定这不是引脚复用问题、我已经检查了足够的时间。
更新了:实际上、LAUNCHXL 上有一些开关强制将 SCIA UART (在 GPIO28和 GPIO29上)路由到 XDS110的虚拟 COM 端口。 我移动了这些开关、它现在正在工作。