您好!
我MSP430G2221上的P1.3连接一个按键,我通过
P1DIR &= ~BIT3;
P1IE |= BIT3; P1IES |= BIT3; __enable_interrupt();开了P1.3的按键中断
(1)请问比如我还想同时开P1.6中断的话,是否同样加语句:
P1DIR &= ~BIT6;
P1IE |= BIT6; P1IES |= BIT6;
就可以了?(2)那中断处理函数可以设置不同吗?比如我P1.3的中断处理申明如下:
#pragma vector=PORT1_VECTOR
__interrupt void PORT1_ISR(void)
那P1.6的中断处理该怎么申明?
谢谢
Peter_Zheng:
都一样设置,在中断处理函数里根据P1IFG的内容不一样进行相应处理。
Young Hu:
在Peter的基础上补充一下:可以这么写
__interrupt void PORT1_ISR(void)
{
switch(P1IFG)
case:
case:
}
这么来写。
Hardy Hu:
1.加那几句是对的;
2.PORT1的8个GPIO口共享一个中断向量PORT1_VECTOR,需要在中断服务函数中去判断到底是哪一位中断标志位被置位了触发的该次中断,然后在进入相应的中断源应该执行的中断服务函数,程序结构就可以使用鸵鸟蝈蝈提供的哪种方式;