ZigBee TI ZStack CC2530 3.11 IO口02-外部中断

【配套源码文档软件硬件等资源,入口见文末

一、前言

本博客ZigBee分支关于CC2530的IO口部分的介绍,分为如下三篇文章:

1、ZigBee TI ZStack CC2530 3.9 IO口00-总(<-点击链接)

2、ZigBee TI ZStack CC2530 3.10 IO口01-输入输出(<-点击链接)

3、ZigBee TI ZStack CC2530 3.11 IO口02-外部中断(<-点击链接)

二、IO口外部中断配置

1、配置输入模式

参照《ZigBee TI ZStack CC2530 3.10 IO口01-输入输出》中的步骤,完成对相应IO口的普通IO输入配置,具体上下拉根据实际情况而定;

2、打开CPU总中断

在代码中设置EA = 1即可。

我们在Z-Stack中自行配置IO口外部中断时,一般不用做这一步,因为Z-Stack中默认是开启了CPU总中断的。

3、打开 组中断

P0组中断开关(P0IE)在IEN1(0xB8)的第5位:0-关中断,1-开中断

P1组中断开关(P1IE)在IEN2(0x9A)的第4位:0-关中断,1-开中断

P2组中断开关(P2IE)在IEN2(0x9A)的第1位:0-关中断,1-开中断

4、打开脚中断

Px_y 的中断开关在PxIEN的第y位:0-关中断,1-开中断

5、设置“触发方式”

各个IO口中断触发方式的选择,由PICTL寄存器决定。该寄存器中各位如下图所示:

D7

D6

D5

D4

D3

D2

D1

D0

——

——

——

——

P2_0~P2_4

P1_4~P1_7

P1_0~P1_3

P0_0~P0_7

 

寄存器PICTL的对应位:0-上升沿触发,1-下降沿触发。

6、初始化“中断标志位”

Px组的中断标志对应为PxIFG寄存器。

PxIFG寄存器中的各位,依次分别代表了Px组中各个IO口的中断触发状态:0-无中断产生,1-有中断产生。

初始化中断标志位时,只需将PxIFG赋值为0x00即可。

三、注意事项

1、关于组中断开关所在寄存器。若其地址能被8整除,则该“开关”可以直接操作。P0IE、P1IE、P2IE中仅P0IE可直接操作。

2、关于中断服务函数。一般在Z-Stack中开发时,建议直接使用协议栈自带的中断服务函数,不建议自己重新编写。

PS:具体怎么应用这里就不做演示了,在后面按键驱动移植部分会有详细的演示!

【配套源码文档软件硬件等资源,入口见文末

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拿破仑940911

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值