最新回复
有两种方法:拿P1端口中断举例说明 比如P1.3 ,P1.4都是中断输入引脚
第一种是:#pragma vector=PORTI_VECTOR
__interrupt void Port1(void)
{ if(P1IFG&BIT3) //判断是P1.3产生的中断
{......
.....//中断的内容
PIIFG=0X00;
}
if(P1IFG&BIT4) //判断是P1.4产生的中断
{......
.....//中断的内容
PIIFG=0X00;
}
}
第二种方法是:
#pragma vector=PORT1_VECTOR
__interrupt void Port1(void)
{P1FIG&=BIT3+BIT4; //只用到这两个口,其他位中断标志全部清零,
switch(P1FIG)
{case 0x08: vector=3;.....//填入中断内容 P1.3产生的中断
break;
case 0x10: vector=4;.....//填入中断内容 P1.4产生的中断
break;
}
}
详情
回复
发表于 2012-7-27 09:59
| |
|
|
| |
|
|
此帖出自微控制器 MCU论坛
| ||
|
||
曾经的版主且威望大于2000,或对EEWORLD论坛有突出贡献的坛友
EEWorld Datasheet 技术支持