This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

zigbee 终端能修改信道吗?

_NIB.nwkLogicalChannel = setchannel;
NLME_UpdateNV(NWK_NV_NIB_ENABLE);

SystemReset();

这段代码烧在协调器里,当我修改协调器的信道走这段代码时我发现之前在同一个网络中的终端的信道也一同修改了,我没写广播啊!!!

如果这段代码烧在终端里,当我单独修改终端的信道,无效。

前提,协调器和终端已经使能全部信道。

好神奇,以上测试结果已经排除其他因素的影响。请问这是为什么?panid就是好的,修改哪个就去修改哪个。

  • #if defined ( ZIGBEE_FREQ_AGILITY )
    if ( !( ZDO_Config_Node_Descriptor.CapabilityFlags & CAPINFO_RCVR_ON_IDLE ) &&
    ( ret == ZSuccess ) && ( ++discRetries == 4 ) )
    {
    // For devices with RxOnWhenIdle equals to FALSE, any network channel
    // change will not be recieved. On these devices or routers that have
    // lost the network, an active scan shall be conducted on the Default
    // Channel list using the extended PANID to find the network. If the
    // extended PANID isn't found using the Default Channel list, an scan
    // should be completed using all channels.
    runtimeChannel = MAX_CHANNELS_24GHZ;
    }

    了解下上面这段代码