ZigBee基础实验——中断
2017-02-12 16:29
267 查看
出自
前言
上一篇介绍了CC2530的IO的基础知识,并用LED的控制来展示如何配置并控制GPIO的输出,用KEY状态的读取实验来展示如何读取GPIO的状态。从上一节的KEY状态读取的代码看出是采用轮训方式的,这种方式是很浪费资源,本节将介绍一种中断方式来替换轮训的方案。
一、中断
电路依然没变,若要使用CC2530的外部中断需要使用P0IEN、PICTL、P0IFG、INE1寄存器。
按键中断初始设置为:
通用I/O 引脚设置为输入后,可以用于产生中断。中断可以设置在外部信号的上升或下降沿触发。P0、P1或P2
端口都有中断使能位,对位于IENl(端口中断使能寄存器)寄存器内的端口所有的位都是公共的,如下:所以代码中第11行允许P0口中断为IEN1
|= 0x20;(第5位)
前言
上一篇介绍了CC2530的IO的基础知识,并用LED的控制来展示如何配置并控制GPIO的输出,用KEY状态的读取实验来展示如何读取GPIO的状态。从上一节的KEY状态读取的代码看出是采用轮训方式的,这种方式是很浪费资源,本节将介绍一种中断方式来替换轮训的方案。
一、中断
电路依然没变,若要使用CC2530的外部中断需要使用P0IEN、PICTL、P0IFG、INE1寄存器。
按键中断初始设置为:
1 /**************************************************************************** 2 * 名 称: InitKey() 3 * 功 能: 设置KEY相应的IO口,采用中断方式 4 * 入口参数: 无 5 * 出口参数: 无 6 ****************************************************************************/ 7 void InitKey() 8 { 9 P0IEN |= 0x2; // P0.1 设置为中断方式 1:中断使能 10 PICTL |= 0x1; //下降沿触发 11 IEN1 |= 0x20; //允许P0口中断; 12 P0IFG = 0x00; //初始化中断标志位 13 EA = 1; //打开总中断 14 }
通用I/O 引脚设置为输入后,可以用于产生中断。中断可以设置在外部信号的上升或下降沿触发。P0、P1或P2
端口都有中断使能位,对位于IENl(端口中断使能寄存器)寄存器内的端口所有的位都是公共的,如下:所以代码中第11行允许P0口中断为IEN1
|= 0x20;(第5位)
相关文章推荐
- 嵌入式成长轨迹44 【Zigbee项目】【CC2430基础实验】【定时器中断】
- ZigBee基础实验(二)--中断
- Zigbee之旅(三):几个重要的CC2430基础实验——外部中断
- Zigbee之旅(四):几个重要的CC2430基础实验——定时器中断
- Zigbee之旅(九):几个重要的CC2430基础实验——系统睡眠及中断唤醒
- Zigbee之旅(三):几个重要的CC2430基础实验——外部中断(转)
- Zigbee之旅(九):几个重要的CC2430基础实验——系统睡眠及中断唤醒(转)
- [ZigBee] 4、ZigBee基础实验——中断
- 嵌入式成长轨迹45【Zigbee项目】【CC2430基础实验】【外部中断】
- Zigbee之旅(四):几个重要的CC2430基础实验——定时器中断(转)
- 嵌入式成长轨迹39 【Zigbee项目】【CC2430基础实验】【按键控制闪烁】
- Zigbee之旅(六):几个重要的CC2430基础实验——ADC单次采样(转)
- 嵌入式成长轨迹56 【Zigbee项目】【CC2430基础实验】【睡眠定时器的使用】
- 嵌入式成长轨迹46 【Zigbee项目】【CC2430基础实验】【片内温度】
- 嵌入式成长轨迹47 【Zigbee项目】【CC2430基础实验】【1/3AVDD】
- 嵌入式成长轨迹58 【Zigbee项目】【CC2430基础实验】【看门狗模式】
- 嵌入式成长轨迹53 【Zigbee项目】【CC2430基础实验】【串口时钟PC显示】
- 嵌入式成长轨迹54 【Zigbee项目】【CC2430基础实验】【系统睡眠工作状态】
- 嵌入式成长轨迹49 【Zigbee项目】【CC2430基础实验】【DMA】
- 嵌入式成长轨迹37 【Zigbee项目】【CC2430基础实验】【自动闪烁】