Chinaunix首页 | 论坛 | 博客
  • 博客访问: 389916
  • 博文数量: 200
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 810
  • 用 户 组: 普通用户
  • 注册时间: 2013-01-07 12:12
文章分类

全部博文(200)

文章存档

2015年(2)

2013年(198)

发布时间:2013-01-07 15:01:43

      Zigbee2006通过分布式寻址方案来分配网络地址的,保证网络内地址的唯一性。这个寻址算法本身的分布特性保证设备只能与其父辈设备通讯来接受一个网络地址。不需要整个网络范围内通讯的地址分配,有助于网络的可测量性。 在04协议栈里有这样一个公式,A=A(parent)+Cskip(d)*Rm+n,Cskip(d)是不同深度的父设备分配地址时的偏移量,Rm是可以携带的最大路由数,n是第n个设备。其中如果Cskip(d)=0x5a6,Rm=4,则协调器的第一个RFD的地址为A=0+0x5a6*4+1=0x1699. 在06协议里看到这......【阅读全文】

阅读(704) | 评论(0) | 转发(0)

发布时间:2013-01-07 15:01:23

我们知道ZigBee设备有两种地址。一种是64位IEEE地址(物理),即MAC地址,另一种是16位网络地址。 64位地址使全球唯一的地址,设备将在它的生命周期中一直拥有它。它通常由制造商或者被安装时设置。这些地址由IEEE来维护和分配。我们刚买到的调和上的IEEE地址应该是全部的F,我们可以通过TI的软件SmartRF Flash Programmer重新写入一个IEEE地址,这就像我们的PC上的物理地地类似,在全球范围内物理地址是唯一的。不过在ZigBee设备中我们也可以更改这个地址,其实也就不确保全球唯一了,当然,在PC上也可以通过软件更改物理地址,不过只要在一个局域网中没有两个相同......【阅读全文】

阅读(650) | 评论(0) | 转发(0)

发布时间:2013-01-07 15:01:14

    下面看一下终端结点的不同之处,下面这个图是终端结点的的编译选项,这里我们可以看到没有了编译选项SOFT_START。这里我们重点看一下不同之处。 #if defined( ZDO_COORDINATOR ) && !defined( SOFT_START ) // Set the default to coodinator   devStartModes_t devStartMode = MODE_HARD; #else   devStartModes_t devStartMode = MODE_J......【阅读全文】

阅读(635) | 评论(0) | 转发(0)

发布时间:2013-01-07 15:00:44

     当我们选择了终端、路由器、或者协调器的时候,来看一下程序中是怎么判断的。也就是如何作为其中的各个角色进行启动,是加入网络,还是形成网络。因为我们在这三个设备上使用的一套代码。首先,我们可以看到下面的三张图,这个是以SampleApp例程为例子。从三幅图中我们可以看来,当选择不同的设备类型编译时,下面加载的配置文件是不一样的。    下面是f8wCoord.cfg文件中的配置信息。这个协调器中的编译选项比路由器结点的编译选项相比多了一个-DZDO_COORDINATOR选项。 /* Common To......【阅读全文】

阅读(646) | 评论(0) | 转发(0)

发布时间:2013-01-07 15:00:38

    在上一篇文章中,分析了一下定义了HOLD_AUTO_START编译选项后,程序的流程,这里分析一下在没有定义这个编译选项后,程序的启动流程,也就是自动启动模式的流程。SampleApp例程为例。 在ZDApp.c文件中,可以看到下面的定义: #if defined( HOLD_AUTO_START ) devStates_t devState = DEV_HOLD;  // 初始化-不会自动启动 #else   devStates_t devState = DEV_INIT;  //初始化-没......【阅读全文】

阅读(501) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册