1. 查看原理图
图1.1
由图1.1,可以把端口P1_2设置为外部中断的输入引脚
2、查看芯片手册
图1.2
设置P1_2端口为普通io端口
P1SEL &= ~0x04; //设置P1_2为普通io
设置P1_2为输入端口
P1DIR &= ~0x04; //设置P1_2口为输入端口
由图1.2可知
先设置P1_2是上升沿触发还是下降沿触发
开启PICTL.P1ICON中断
PICTL |= 0X02; //下降沿触发
设置P1_2端口为上拉
P1INP &= ~0x04; //上下拉
P2INP &= ~0x40; //端口1上拉
清零标志位
P1IFG = 0x00;
开启P1IEN中断开关
P1IEN = 0x04;
P1INT是中断名称
清空P1IF中断标志位,判断是否发生了中断,就判断该位是否为1
IRCON2 = 0x00;
开启总中断
EA = 1;
开启P1IE中断
IEN2 |= 0X10;
3、cc2530的中断处理函数格式编写方法
#pragma vector = <中断向量>
__interrupt void P1_ISR(void)
{
/*添加中断后要处理的的操作*/
}
/*
*中断向量 = P1INT_VECTOR(头文件的定义) 或者 0x7B(中断向量的入口地址),例如:#pragma vector = P1INT_VECTOR 或者 #pragma vector = 0x7B
*/