工具与软件:
您好!
我想在我向 GPIO18提供的外部信号上同步 EPWM1A。 但我看不到外部信号和 ePWM 之间的同步。
我将 GPIO18映射到 Inputtxbar5、如下所示:
EALLOW;
InputXbarRegs.INPUT56SELECT = 0x12;//将 GPIO18映射至 INPUT5
GpioCtrlRegs.GPAMUX2.bit.GPIO18 = 0;//将 GPIO18设置为 GPIO
GpioCtrlRegs.GPADIR.bit.GPIO18 = 0;//配置为输入
GpioCtrlRegs.GPAPUD.bit.GPIO18 = 0;// Disable pull-up (禁用上拉)
GpioCtrlRegs.GPAINV.bit.GPIO18 = 1;// Invert input (反向输入)
EDIS;
并将 EPWM1配置为从模式
EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;//时钟与 SYSCLKOUT 的比率
EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV1;
EPwm1Regs.TBCTL.bit.CTRMODE = tb_count_updown;//向上/向下计数和向下计数
EPwm1Regs.TBPRD = PQAB_TBPRD;//设置计时器周期
EPwm1Regs.TBCTL.bit.PHSEN = TB_ENABLE;// SLAVE、Enable phase sync (启用相位同步)
EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN;//同步到外部信号(GPIO18、即映射到 INPUT5的 SPICLK)
EPwm1Regs.TBPHS.bit.TBPHS = 0;// Phase 为0
EPwm1Regs.TBCTL.bit.PHSDIR = TB_UP;
EPwm1Regs.TBCTR = 0x0000;//清除计数器