CC2530 进入中断清除了其他io口状态
时间:10-02
整理:3721RD
点击:
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 RED OUTPUT LED_G = 0 ; LED_R = 0 ; }
请问您现在有尝试进行单步调试吗?结果如何?
另外不建议您在中断服务函数内初始化I2C
io 相关文章:
- 关于Z-STACK Power Configuration等cluster
- 请问associated_devices_t AssocAddNew( uint16 shortAddr, byte extAddr, byte nodeRelation );中nodeRelation怎么得到?
- CC2531 usb dongle可以透過SmartRF Studio發送數據嗎?
- 如何用Z-tool控制Home Automation设备。
- Home Automation的控制中心,需要把所有的clusterID都添加到ClusterList中么?
- Z-stack Home中的Z-Tool和ZNP怎么作为Home Automation的控制中心?