[电源] 在CC2430上使终端设备依据特定的PAN ID入网二

[复制链接]
2125|1
 楼主| teet 发表于 2011-10-9 13:42 | 显示全部楼层 |阅读模式
解决方法和实际代码

对刚才提及的代码段,增加终端对返回的网络信息描述结构的查询。



在ZDApp.c中修改ZDApp_event_loop()函数,在调用ZDO_StartDevice(…)之前,亦即在终端设备扫描网络和请求入网前增加一段代码。当终端和协调器PAN ID不同,并且是再继续模式时,重新搜索是否有与PAN ID相同的协调器,而不请求人网。



这样就使得终端有协调器可挑选了。

关于如何修改PAN ID,给出代码如下(该代码为协调器和终端通用的。_NIB是和网络相关的全局结构体):



另外非协调器设备在初始化时,应该增加如下的代码(gu16RecBuffLen为自定义的16位整型数):



通过对扫描网络结果处理函数的分析,研究扫描网络和请求人网前的程序段。在程序段中增加一个对终端是否检索到特定PAN ID的协调器的逻辑变量。最后在程序中增加未检索到特定PAN ID的协调器时不请求入网的代码,以达到终端选择协调器入网的目的。经实验,在现场有数个不同PAN ID的协调器的情况下,终端设备只加入特定的协调器.
3B1105 发表于 2011-10-9 23:30 | 显示全部楼层
发错版了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

828

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部