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

AddrMgrEntry 占满 导致协调器不能加入新设备

   根据测试,协调器AddrMgrEntry列表好像会存储整个网络的终端节点的地址信息,通过设置,我的所有终端节点只会将路由器做为父节点,协调器节点的子设备都是路由器,在加入20个终端设备以后,协调器回复的Beacon就不让加入新的设备,经过调试发现协调器下的AssociatedDevList并未满,但是它的AddrMgrEntry已经满了,而且调用AddrMgrIsFull()返回的值为TRUE。正是由于这个导致协调器的Beacon返回Permit joing和End device cap 为0,协调器就不能再加入新设备。

  请问有什么方法让协调器定时清除AddrMgrEntry表中的值么?

PS:为了简化我只使能了路由器和协调器的child aging ,使用的协议栈版本为zstack home 1.2.2a

Viki Shi:

论坛有类似问题,解答请看这边:
cekong123.blog.163.com/…/
e2echina.ti.com/…/72645

lemon:

请问 你是如何设置让终端节点只会将路由器作为父节点的?

Susan Yang:

路由器的话可以使用
// detect and remove stored deprecated end device children after power upzgRouterOffAssocCleanup = TRUE;osal_nv_write(ZCD_NV_ROUTER_OFF_ASSOC_CLEANUP, 0, sizeof(zgRouterOffAssocCleanup), &zgRouterOffAssocCleanup);

user1999055:

这个问题其实不需要开启child aging也可以自己手动利用关联表来管理,字需要占用2byte的全局变量就可以解决,具体可以看iot.lh1992.cn/…/2723

赞(0)
未经允许不得转载:TI中文支持网 » AddrMgrEntry 占满 导致协调器不能加入新设备
分享到: 更多 (0)