Zigbee学习系列——细节

3 篇文章 0 订阅
2 篇文章 0 订阅

由于我是从普通的51单片机做过来的,对于cc2530单片机还是不是特别熟悉,而且由于两者相似,所以对于一些细节问题并不会特别在意,这就导致遇到的一些问题使得我感觉这款芯片甚至这Zigbee协议特别难“伺候”,然后把自己所遇到的这些问题汇总一下,希望对大家有所帮助!

问题1:当我使用P1口的外部中断的时候,所有的配置都确保没有问题,但是,外界在没有触发甚至引脚悬空时均会进入中断函数并且形成了死循环。不断的跳入P1口的中断函数。

排查:调试的时候查看寄存器值,发现P1.0和P1.1自己在没有规律的变化(这就奇怪了,此时很郁闷,也很火)

原因:再次详细的读了一遍数据手册后发现,P1.0和P1.1,没有内部上下拉,这就是会导致内部寄存器的变化影响了引脚的变化。

解决:在外部根据自己的需要接上拉或者下拉电阻。

问题2:中断合适,但是第一次进入中断后就如同进入死循环,然后就出不来了。

原因:在中断执行后必须软件复位标志寄存器,否则会重新进入中断执行,从而陷入死循环。

解决:在中断函数末复位这两个寄存器(PxIFG、PxIF),切记注意复位顺序,先PxIFG、再PxIF。

 

此文章会持续更新。。。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值