TI中文支持网
TI专业的中文技术问题搜集分享网站

关于终端节点更换父节点的问题

我碰到下面这样的情况,请教一下各位大佬:

有一个协调器,一个低功耗的终端节点,两个路由节点A,B,组成一个网络,终端节点的父节点是A,路由节点的父节点都是协调器,

将路由节点A断电,这是终端节点会在寻找一个新的节点作为父节点,如果这个新的父节点是协调器,

这时候将路由节点A再次上电,重新回到网络中,如果这个时候终端节点再次更换父节点,父节点又变成了路由节点A,

在这之前都是正常的,接下来,如果再次将路由节点A断电,或者从网络中删除,发现终端节点不会再次寻找新的父节点了…….

还有一个问题就是,终端节点断电再次上电有时候不能回到原来的网络中,已经开启了NV_RESTORE

请问有没有人碰到过这种情况,请帮忙答疑解惑,感谢!

YiKai Chen:

請問你用的協議棧版本,還有有沒有抓包檔可以分析?

user5355203:

回复 YiKai Chen:

协议栈版本是1.2.2a的,我这边没有抓包数据,

YiKai Chen:

回复 user5355203:

建議你先抓包分析看看

user5355203:

回复 YiKai Chen:

我大概找了一下原因,发现了大概的方向,但是还有一点问题:else{if ( continueJoining ){
#if defined ( MANAGED_SCAN )ZDApp_NetworkInit( MANAGEDSCAN_DELAY_BETWEEN_SCANS );
#elsezdoDiscCounter++;ZDApp_NetworkInit( (uint16)(BEACON_REQUEST_DELAY+ ((uint16)(osal_rand()& BEACON_REQ_DELAY_MASK))) );
#endif}}
之前我们为了做低功耗,不让设备上电自动搜寻网络,这里的两个ZDApp_NetworkInit函数,我都把他屏蔽了,当我把他打开的时候,我上面描述的现象就会有所改善,基本不会出现问题,可是我还不太理解原理,能不能详细说明一下

YiKai Chen:

回复 user5355203:

把ZDApp_NetworkInit函数屏蔽了,當然就不會搜寻网络了,這個還能详细说明什麼?

user5355203:

回复 YiKai Chen:

我想问的是,终端节点在父节点丢失,寻找新的父节点的时候,会运行这部分代码吗?先行感谢!!

YiKai Chen:

回复 user5355203:

函数屏蔽了就不會搜寻网络就是用到啊

赞(0)
未经允许不得转载:TI中文支持网 » 关于终端节点更换父节点的问题
分享到: 更多 (0)