CC2430的外部中断
CC2430似乎不能改变外部中断的电平触发选择,设置PICTL的后三位一点反应都没有! 真不好意思一直没有看到P2INP可以设置每个口是上拉还是下拉!试一下 void P1_interrupt_init(){
IP1=0x11; //中断优先级
IP0=0x01;
IEN0|=0x80; //global interrupt
IEN2|=0x10; //P0 interface interrupt
//P1SEL&=~0x10;
P1DIR&=~0x08; //P1口言向选择*默认为输入
P2INP|=0x40; //P1口为下拉
P1IEN|=0x08; //中断使能P1_3位
PICTL|=0x00; //中断触发为高电平有效
// P1INP|=0x08;//不知是否该有
P1IFG=0x00; //清除中断标志
}
这是P1_3的外部中断初始化程序,下面是中断处理函数
/*******************P1 interrupt function*****************/
#pragma vector = P1INT_VECTOR
__interrupt void P1_ISR(void)
{
BYTE flag;
IEN0&=~0x80;
flag=P1IFG;
if(flag&0x08)
{
read_REG(0x30,0,1);
event_num|=0x01;
}
// P1IEN|=0x08;
P1IFG&=~0x08;
IRCON2&=~0x08;
IEN0|=0x80;
}
页:
[1]