Other Parts Discussed in Thread: TMS320F28377D, C2000WARE
器件型号: TMS320F28377D
主题: C2000WARE 中讨论的其他器件
在 TMS320F28377D 中、我已经使用 TZ1、TZ2 和 TZ3。 现在、我想通过使用 INPUTXBAR 来使用 TZ4。 我正在使用 GPIO27 作为 INPUTXBAR4 来使 EPWM10 跳闸。 我已写入以下设置、但在 GPIO27 上从高电平到低电平转换期间无法停止 PWM。 请建议解决此问题。
EALLOW;
GpioCtrlRegs.GPAMUX2.bit.GPIO27 = 0;
GpioCtrlRegs.GPAGMUX2.bit.GPIO27 = 0;
GpioCtrlRegs.GPADIR.bit.GPIO27 = 0;
GpioCtrlRegs.GPAPUD.bit.GPIO27 = 0;
GpioCtrlRegs.GPAQSEL2.bit.GPIO27 = 3;
InputXbarRegs.INPUT4SELECT = 27;
EPwmXbarRegs.TRIP4MUX0TO15CFG.ALL |=(1UL << 14);
EPwmXbarRegs.TRIP4MUX0TO15CFG.ALL |=(0x1 << 14);
EPwmXbarRegs.TRIPOUTINV.bit.TRIP4=1;
EDIS;
PWM 初始化代码:
EALLOW;
EPwm10Regs.AQSFRC.bit.RLDCSF=3;
EPwm10Regs.TZSEL.bit.OSHT4 = 1;
EPwm10Regs.TZCTL.BIT.TZA = TZ_FORCE_LO;
EPwm10Regs.TZCTL.BIT.TZB = TZ_FORCE_LO;
EPwm10Regs.TZEINT.bit.OST = 1;
EDIS;
TZ ISR:
__ interrupt void epwm10_tzint_isr (void)
{
flag3.inv_sat_trip=1;
stop_pwm ();
EALLOW;
EPwm10Regs.TZCLR.bit.OST = 1;
EPwm10Regs.TZCLR.bit.INT = 1;
EDIS;
PieCtrlRegs.PIEACK.ALL = PIEACK_group2;
}

