TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2530 进入中断清除了其他io口状态

rt,用simplicit 协议站,p20作为按键中断,进入按键中断之后其他io口状态不可用,表现为led及蜂鸣器不可用,i2c外设不可用,程序如下:

按键中断:

void BSP_InitKey()
{P2IEN = 0x01;// P2.0 设置为中断方式 1:中断使能PICTL |= 0x08;//下降沿触发IEN2  |= 0x02;//允许P2口中断;P2IFG  = 0x00;//初始化中断标志位EA = 1;//打开中断
}

按键IRQ:

#pragma vector = P2INT_VECTOR
__interrupt void P2_ISR(void) 
{EA = 0 ;if(!KEY)//按键中断{NWK_DELAY(100); //延时去抖if(!KEY)//按键中断{Key_flag = 1 ;
//Reinit();BSP_InitI2C();Handle_Key();}}P2IFG &=0xFD;//清中断标志P2IF = 0;//清端口0中断标志EA = 1 ;
}#pragma vector = P2INT_VECTOR
__interrupt void P2_ISR(void) 
{EA = 0 ;if(!KEY)//按键中断{NWK_DELAY(100); //延时去抖if(!KEY)//按键中断{Key_flag = 1 ;LED_ON('G');}}P2IFG &=0xFD;//清中断标志P2IF = 0;//清端口0中断标志EA = 1 ;
}

led初始化函数

void BSP_InitLeds()
{P1DIR |= 0x06 ; //P1_0 LED2 REDOUTPUTLED_G = 0 ;LED_R = 0 ;
}
Susan Yang:

请问您现在有尝试进行单步调试吗?结果如何?

另外不建议您在中断服务函数内初始化I2C

赞(0)
未经允许不得转载:TI中文支持网 » CC2530 进入中断清除了其他io口状态
分享到: 更多 (0)