TI中文支持网
TI专业的中文技术问题搜集分享网站

280x tz中断

重新写写问题,断点时能够进TZ触发中断,不打断点,全速运行时,不能进中断。

判断GPIO16是否为低,进中断。我是将GPIO16引线手动接触GND进行拉低。

初始化:
EALLOW;
EPwm7Regs.TZCLR.bit.OST = 1; 
EPwm7Regs.TZCLR.bit.INT = 1;
EPwm7Regs.TZSEL.bit.OSHT1 = 1;
EPwm7Regs.TZCTL.bit.TZA = TZ_FORCE_LO;
EPwm7Regs.TZCTL.bit.TZB = TZ_FORCE_LO;
EPwm7Regs.TZEINT.bit.OST = 1;
EDIS;
使能中断组:PIE外设中断
EALLOW;
PieVectTable.EPWM7_TZINT = &tz7int_isr;
EDIS;
PieCtrlRegs.PIEIER2.bit.INTx7 = TZINT7_ENABLE;
当GPIO16为低时,触发中断:
GpioCtrlRegs.GPAPUD.bit.GPIO16 = 0; // (TZ1)
GpioCtrlRegs.GPAQSEL2.bit.GPIO16 = 3; // (TZ1)
GpioCtrlRegs.GPAMUX2.bit.GPIO16 = 3; //
中断函数:
interrupt void tz7int_isr(void)
{
…绿灯亮…
}

当将GPIO16拉低至GND时,打断点能够,进入tz7int_isr函数,连续运行没有不能进tz7int_isr函数,但是能够看到TZ中断标志位置1了:EPwm7Regs.TZFLG.bit.OST=1,EPwm7Regs.TZFLG.bit.INT=1,但是就是不进中断,是否进中断以“绿灯事宜”。

Young Hu:如果加断点能进,那么连续运行也能进的,这个比较奇怪,看一下代码中绿灯GPIO的值是多少

重新写写问题,断点时能够进TZ触发中断,不打断点,全速运行时,不能进中断。

判断GPIO16是否为低,进中断。我是将GPIO16引线手动接触GND进行拉低。

初始化:
EALLOW;
EPwm7Regs.TZCLR.bit.OST = 1; 
EPwm7Regs.TZCLR.bit.INT = 1;
EPwm7Regs.TZSEL.bit.OSHT1 = 1;
EPwm7Regs.TZCTL.bit.TZA = TZ_FORCE_LO;
EPwm7Regs.TZCTL.bit.TZB = TZ_FORCE_LO;
EPwm7Regs.TZEINT.bit.OST = 1;
EDIS;
使能中断组:PIE外设中断
EALLOW;
PieVectTable.EPWM7_TZINT = &tz7int_isr;
EDIS;
PieCtrlRegs.PIEIER2.bit.INTx7 = TZINT7_ENABLE;
当GPIO16为低时,触发中断:
GpioCtrlRegs.GPAPUD.bit.GPIO16 = 0; // (TZ1)
GpioCtrlRegs.GPAQSEL2.bit.GPIO16 = 3; // (TZ1)
GpioCtrlRegs.GPAMUX2.bit.GPIO16 = 3; //
中断函数:
interrupt void tz7int_isr(void)
{
…绿灯亮…
}

当将GPIO16拉低至GND时,打断点能够,进入tz7int_isr函数,连续运行没有不能进tz7int_isr函数,但是能够看到TZ中断标志位置1了:EPwm7Regs.TZFLG.bit.OST=1,EPwm7Regs.TZFLG.bit.INT=1,但是就是不进中断,是否进中断以“绿灯事宜”。

Seven Han:建议您仿真时看下控制绿灯的gpio的寄存器值是多少。

赞(0)
未经允许不得转载:TI中文支持网 » 280x tz中断
分享到: 更多 (0)