请教大家一个问题,之前做了一个zigbee无线系统,一直测试没问题,今天新加入一个路由节点,发现加不进去,网络里的其他节点都通信正常,然后把协调器所有的节点信息都清除,发现一个节点也加不进去了。换个协调器就没问题了,不知道是什么原因造成的。芯片用的是2530,协议栈2.5.1,附件是协调器上电,打开网络,路由节点上电,打开网络寻网的数据包,不太会分析数据包,请大家帮忙看看是什么问题,谢谢。2664.抓包文件.psd
Alvin Chen:
有可能是你的关联表满了,你多少个设备,
user5122867:
回复 Alvin Chen:
你好,目前这个系统里面只有12个路由节点,现在的话我重新烧程序路由节点也加不进去,只有擦除之后再烧程序才可以。这个协调器之前加了20多个设备,一直在测试,这些节点反反复复入过很多次网。我是调用zgWriteStartupOptions(ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_CONFIG_STATE | ZCD_STARTOPT_DEFAULT_NETWORK_STATE);这个函数来清除已入网节点信息的。这个函数是清除关联表的吗?
Alvin Chen:
回复 user5122867:
请参考下面帖子擦除节点,如果你反复入网,你的协调器回家满,你要使用leave命令。
e2echina.ti.com/…/131709
user5122867:
回复 Alvin Chen:
你好,看这个帖子也是说调用函数zgWriteStartupOptions(ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_CONFIG_STATE | ZCD_STARTOPT_DEFAULT_NETWORK_STATE);我清除节点的时候就是调用这个的,代码如下:
zgWriteStartupOptions(ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_CONFIG_STATE | ZCD_STARTOPT_DEFAULT_NETWORK_STATE);
SystemResetSoft();
Alvin Chen:
回复 user5122867:
你要先如果你是节点想要擦除,先leave 然后协调器才会更新关联表才能释放空间。
user5122867:
回复 Alvin Chen:
你好 Alvin Chen,我对于擦除节点的操作不太清楚。我想实现的效果是:通过按键去擦除协调器里面所有节点信息,更新关联表释放空间。协调器代码里是这样写吗?ZDApp_LeaveReset(false);
zgWriteStartupOptions(ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_CONFIG_STATE | ZCD_STARTOPT_DEFAULT_NETWORK_STATE);
SystemResetSoft();
Alvin Chen:
回复 user5122867:
是的
user5122867:
回复 Alvin Chen:
你好 Alvin Chen,请问我怎样才能看到这个关联表里面的数据
user5122867:
回复 Alvin Chen:
你好 Alvin Chen,再请教两个问题。
1、我按照上面的代码测试,协调器按键按下后执行
ZDApp_LeaveReset(false);
zgWriteStartupOptions(ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_CONFIG_STATE | ZCD_STARTOPT_DEFAULT_NETWORK_STATE);
SystemResetSoft();
发现这样操作后如果让路由节点再入网会入不进去,只有重启协调器才可以。请问什么原因?
2、上面说的那个关联表指的是AssociatedDevList里面的数据吗?我打印这里面的数据发现如果没有节点入网,全是FF,如果有子节点,里面会有子节点的短地址。
Alvin Chen:
回复 user5122867:
1.你开始是你要打开permitjoin
2.blog.csdn.net/…/50695705