z-stack PAN ID设定的问题
时间:10-02
整理:3721RD
点击:
ZDApp.c文件中有函数“ZDApp_CoordStartPANIDConflictCB”,定义如下:
uint16 ZDApp_CoordStartPANIDConflictCB( uint16 panid )
{
return ( panid + 1 );
}
请问这个函数是在什么时候调用的呢?又是被谁调用的呢?
另外,PAN ID 是在f8wConfig.cfg文件中被初始化的,那么还需要ZDApp_CoordStartPANIDConflictCB这个函数干什么呢?
如果在f8wConfig.cfg中PAN ID定义的是0xFFFF,对于协调器来说就是随机产生一个PANID,如果PANID是除了0xFFFF以外的数,那么对于协调器来说就以这个值来建立网络,对于路由器或者终端就以这个PANID去加网络
如果设备是协调器那么建立网络的时候随机产生一个PANID,产生PANID后会在相应信道里面进行冲突检测,如果检测信道内有其他网络也用同样的PANID,那么就会选择+1,使用另外的PANID,直到没有冲突的网络PANID,并以此PANID选择建立网络。