现需要使用PWM来触发外置AD,但始终未配置成功
配置程序如下
void XBAR_ADCSOCAO_Init()
{
EALLOW;
GpioCtrlRegs.GPAGMUX2.bit.GPIO24 = 0x0;
GpioCtrlRegs.GPAMUX2.bit.GPIO24 = 0x1; //Set GPIO24 to OUTPUTXBAR1
GpioCtrlRegs.GPADIR.bit.GPIO24 = 0x1;
OutputXbarRegs.OUTPUT1MUX0TO15CFG.bit.Mux13 = 0x1; //Set OUTPUTXBAR1 to MUX13.2-ADCSOCA
TrigRegs.EXTADCSOCSELECT.bit.PWM1SOCAEN = 0x1; //Set PWM1 as the ADCSOC triggle source
EPwm1Regs.ETSEL.bit.SOCAEN = 0x1; //Enable EPWM1 ADCSOC pluse
EPwm1Regs.ETSEL.bit.SOCASEL = 0X3; //Enable event counter on TBCTR = 0 or TBCTR = Peroid
EPwm1Regs.ETPS.bit.SOCAPRD = 0x1; //Generate SOC pluse on first event
EDIS;
}
EPWM1有正确输出
目前结果是已经可以在ETFLG中看到SOCA置1,但是GPIO24上没有对应的脉冲
请问还需要配置其他寄存器么?
chen chen13:
问题已找到
除配置MUXCFG外还需打开对应的MUX
现需要使用PWM来触发外置AD,但始终未配置成功
配置程序如下
void XBAR_ADCSOCAO_Init()
{
EALLOW;
GpioCtrlRegs.GPAGMUX2.bit.GPIO24 = 0x0;
GpioCtrlRegs.GPAMUX2.bit.GPIO24 = 0x1; //Set GPIO24 to OUTPUTXBAR1
GpioCtrlRegs.GPADIR.bit.GPIO24 = 0x1;
OutputXbarRegs.OUTPUT1MUX0TO15CFG.bit.Mux13 = 0x1; //Set OUTPUTXBAR1 to MUX13.2-ADCSOCA
TrigRegs.EXTADCSOCSELECT.bit.PWM1SOCAEN = 0x1; //Set PWM1 as the ADCSOC triggle source
EPwm1Regs.ETSEL.bit.SOCAEN = 0x1; //Enable EPWM1 ADCSOC pluse
EPwm1Regs.ETSEL.bit.SOCASEL = 0X3; //Enable event counter on TBCTR = 0 or TBCTR = Peroid
EPwm1Regs.ETPS.bit.SOCAPRD = 0x1; //Generate SOC pluse on first event
EDIS;
}
EPWM1有正确输出
目前结果是已经可以在ETFLG中看到SOCA置1,但是GPIO24上没有对应的脉冲
请问还需要配置其他寄存器么?
user591438:
回复 chen chen13:
有完整的设置代码吗?能分享一下吗?