#pragma vector = PORT2_VECTOR __interrupt void port2(void) { switch(P2IV) { case P2IV_P2IFG6: P2IFG &=~BIT6; P1OUT ^= BIT0;break; //LED1 亮灭 case P2IV_P2IFG7: P2IFG &=~BIT7; P1OUT ^= BIT1;break; //LED2 亮灭 default :break; }
}
#pragma vector = PORT2_VECTOR __interrupt void port2(void) { if(P1IFG&BIT6){ P2IFG &=~BIT6; } if(P1IFG&BIT7){ P2IFG &=~BIT7; }
}
这两种方法有什么不同吗?上面一种是通过向量中断号进行判断,下面是用中断标志进行判断,在上面的判断中是否需要用软件把中断标志清0 |