问题1:今天看Ti的协议栈-终端加入网络时,协调器建立网络,终端加入网络后,当换成了另外一个协调器他为什么可以加入?
试想我们能够重新加入网络的判断是什么,父节点必须判断他的扩展PANid是否和自己的一样(即判断MAC的64位地址进行判断);且自身有终端和路由加入网络的能力,才可以加入这个网络。答案是不可以的!解决方法的关键就是找到在哪里判断扩展PanId或者mac地址(本身邻居表中的mac地址与加入网络设备的mac地址做判断)。这个是加入网络的根本。还是要读协议栈!
问题2:当一个协调器,终端组网成功后,协调器重新烧录代码(他的PANID 已经发生变化了),还可以继续加入这个网络(是正确的)。
同一个网络的扩展PANID一定是一样的,且这个网络是唯一的;
注意不同的PANID,可能是同一网络。
不同的扩展PanID,一定是不同的网络。
研发人员的瓶颈:总想找到别人的bug,发现一个问题不合理就立即指出,而却没有去仔细思考除了这种方法还可以有其他更好的方法吗?也许有时你认为的bug只是你没有站在一个更高的高度来思考问题。所以,不要轻易否定官方的协议栈及联盟的协议。