初学zigbee--IO口中断产生配置条件
2015-07-25 23:57
309 查看
IO口中断产生配置条件
中断概述;CC2530的CPU有18个中断源,每个中断请求可以通过设置中断使能 SFR 寄存器的中断使能位 IEN0,IEN1 或者 IEN2 使能或禁止1. CPU中断开关打开
EA=1//打开CPU总中断
2. 组(P0 P1 P2)中断开关打开
IO口中断的中断使能位分别位于IEN1,IEN2, 0为中断禁止(不允许中断),1为中断使能(允许中断)
P0的中断使能位(即中断开关)在IEN1(共8位,0~7)的第5位
P1的中断使能位(即中断开关)在IEN2(共8位,0~7)的第4位
P2的中断使能位(即中断开关)在IEN2(共8位,0~7)的第1位
3. 组内引脚开关打开(P0组有8个引脚 P1组有8个引脚 P2组有5个引脚)
0为中断禁止,1为中断使能
P0IEN(7:0)对应P0组的8个引脚 //>_< 7:0意为第7位到第0位
P1IEN(7:0)对应P1组的8个引脚
P2IEN(7:0)对应P2组的8个引脚
4. 配置什么时候中断:上升沿产生中断还是下降沿产生中断
0表示上升沿,1表示下降沿
通过配置PICTL
中断处理函数
格式
<pre name="code" class="cpp">#pragma vector =PxINT_VECTOR //#pragma vector =中断向量 __interrupt void fun() //中断函数 { /* 函数 */ /* 中断函数的最后要有清中断标志,否者将一直中断,即一直执行中断函数 */ PxIFG=0; //清中断标志 /* PxIFG寄存器有8位表示每个组的各个引脚,在产生中断的时候该组的该位将产生置位,例如P0_0产生中断,P0IFG的第0位将由0变成1 */ PxIF=0; //清中断标志 /* PxIF为一个标志位,每一组对应一个PxIF 例如P0_0产生中断,则P0IF将产生置位 */ }
相关文章推荐
- 学习solr不错的系列博文
- 算法分析--数量级比较
- Convert Sorted List to Binary Search Tree
- Android Studio导入github上面的项目以及发生的问题
- spring data redis RedisTemplate操作redis相关用法
- Entity Framework中使用IEnumerable<T>、IQueryable<T>及IList<T>的区别
- JavaScript学习笔记——运算符和表达式
- 反射已经"Out",动态编译才能"Hold"住
- java多线程学习笔记——相关名词介绍
- sublime 3 build
- linux性能分析命令-扫盲贴
- JavaScript推荐资料合集(前端必看)
- virmon防火墙有了升级
- HDU 5311 Hidden String (暴力)
- 从软件部署看运维的四种境界
- Memcached客户端(memcached-Java-client)与 Spring集成(单服务器)
- Xcode快捷键
- HDU 5311 Hidden String (优美的暴力)
- python发邮件
- Haproxy+PXC实现负载均衡