STC8H3K64S2 普通管脚电平中断时,在中断程序修改中断模式,部分修改无效 | 已解决
如题,在用引脚中断时,由于这个型号不能使用上升沿和下降沿中断,只能使用电平中断,但在实际使用中,发现进入中断后,某些引脚在中断程序修改中断模式(即从高电平改为低电平或从低电平改为高电平)无效,导致中断一直被触发。大家有见过类似的现象吗?如何解决?中断程序如下:void P1_int (void) interrupt P1INT_VECTOR //P1 ISR
{
EAXSFR();
P07=~P07;
P1INTE = 0x00; //DISENABLE P1 int
P1INTF = 0x00;
step = P1 & HALL_PIN;//0x45;//(0b01000101); //P1.0-HALL_U P1.2-HALL_V P1.6-HALL_W
if ((step > 0 ) && (step < 0xff)) hall_intcnt++;
switch(step)
{
case STEP2:
P1IM0 = ~STEP2;
break;
case STEP6:
P1IM0 = ~STEP6;
break;
case STEP4:
P1IM0 = ~STEP4;
break;
case STEP5:
P1IM0 = ~STEP5;
break;
case STEP3:
P1IM0 = ~STEP3;
break;
case STEP1:
P1IM0 = ~STEP1;
break;
default:
M_DRV_IN_OFF;
P1IM0 = 0x00;
break;
}
P1IM1 = 0xff;
P1INTE = HALL_PIN;
P1INTF = 0x00;
}
以上程序中当引脚的信号为STEP3时,就一直触发中断。
解决了
页:
[1]