之前一直没有关注ZigBee信道相关的事,只是知道在配置文件中配置好固定的信道(Z-STACK3.0.2支持11-26几种信道,具体查看协议栈f8wConfig.cfg文件),然后才能加入相同信道的ZC,比如ZC的信道为11,则设备的信道配置为11。
但,直到今天才发现原来配置的信道只是优先扫描,也就是说,即使你的设备信道配置为22,而你的ZC信道配置为11,那么在ZC打开网络窗口时,信道为22的设备也可以扫描加入并切换自己的信道为11(前提是之前最好没有加入其它网络)。
下面引用一下TI Z-STACK3.0.2 9.1小节的片段:
9.1 配置信道
每个Zstack3.0设备都有一个主通道掩码配置(BDB_DEFAULT_PRIMARY_CHANNEL_SET)和一个辅助通道掩码配置 (BDB_DEFAULT_SECONDARY_CHANNEL_SET)。具有创建网络功能的设备,扫描全部信道,选择一个噪声最少的信道来创 建网络。此时,设备会用到上边提到的那些通道掩码。具有连接功能的设备,如果要加入网络,则在扫描现有网络时使用上述 通道掩码进行加入。设备将首先尝试主通道掩码中定义的所有通道,然后如果操作过程不成功(未创建网络或未找到要加入的 网络),则会使用辅助通道掩码。这两种信道掩码可以根据需要由应用程序进行配置。其中一个掩码中的值为0将禁用相应的 通道扫描过程(主要或次要)。主通道掩码默认定义为等于DEFAULT_CHANLIST(在f8wConfig.cfg中),而辅助通道掩码定义 为所有其他通道(即DEFAULT_CHANLIST^0x07FFF800)。