大家好,打扰你们了。
硬件:cc2530
预编译选项:
ZTOOL_P1
NV_RESTORE
协议栈 2.5
动态修改PanID的方法:
_NIB.nwkPanId = new_panid;
NLME_UpdateNV(0x01);
zb_SystemReset();
协调器:在f8wConfig.cfg文件中设置 PanID = A
终端:在f8wConfig.cfg文件中设置 PanID = A
1、协调器、终端上电,终端可以加入到网络,正常;
2、用函数修改协调器的PanID为B,终端断开,正常,这是再修改终端的PanID为B,发现无法改成功,终端始终没法加入网。
(在上面这种情况中是先改协调器的PanID,再改终端的PanID,终端的PanID就改不了)
协调器:在f8wConfig.cfg文件中设置 PanID = A
终端:在f8wConfig.cfg文件中设置 PanID = A
1、协调器、终端上电,终端可以加入到网络,正常;
2、用函数修改终端的PanID为B,可以改成功,终端这时断开了网络,正常,修改协调器PanID为B,终端重新入网成功。
(这种情况则是先改终端的PanID,再改协调器的PanID,就可以实现)
协调器:在f8wConfig.cfg文件中设置 PanID = A
终端:在f8wConfig.cfg文件中设置 PanID = A
1、协调器、终端上电,终端可以加入到网络,正常;
2、先改终端的PanID为B,再改协调器的PanID为B,两者可以重新建立起网络,此时协调器和终端的PanID都是B了;
3、先改协调器的PanID为A,再改终端的PanID为A,两者又可以重新建立网络!
上面三个实验总结出得规律就是:
终端的f8wConfig.cfg文件中设置哪个 PanID,它就可以在任何情况下修改到这个PanID,但如果要修改到其他的PanID,
必须是再它还在某个网络中(仍与协调器保持着连接)的前提下。而协调器则没有这个限制。
请问是为什么呢?
已经看了 www.deyisupport.com/.../228859.aspx
还是不清楚问题在哪,好奇怪。
不管怎样,先谢谢你们,若有时间回复,感激不尽。