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.

协调器HOLD_AUTO_START

      你好!我在做ZigBee协调器里面加入HOLD_AUTO_START后,能够达到控制协调器不自动组网的功能,但是在使用串口发送指令调用ZDOInitDevice(0),希望控制协调器建立网络,但是发现没有作用,这是怎么回事啊?

      还有我在网上看到按键控制建网的程序如下:

        logicalType = ZG_DEVICETYPE_ENDDEVICE;

       zb_WriteConfiguration(ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalType);

        zb_ReadConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8), &startOptions );
        startOptions = ZCD_STARTOPT_AUTO_START;
        zb_WriteConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8), &startOptions );
        zb_SystemReset();但是该部分函数在我的sample工程里面编译失败,不能使用!
       然后我将函数改为

      logicalType = ZG_DEVICETYPE_COORDINATOR;
     osal_nv_write( ZCD_NV_LOGICAL_TYPE, 0, sizeof(uint8), &logicalType );

     osal_nv_read(ZCD_NV_STARTUP_OPTION,0,sizeof(uint8), &startOptions);
     startOptions = ZCD_STARTOPT_AUTO_START;
     osal_nv_write( ZCD_STARTOPT_AUTO_START, 0, sizeof(uint8), &startOptions );
     SystemReset();编译通过,但是还是不能控制协调器建网!

     这个控制协调器建立网络的问题困扰我一天了,请求各位大神解答,谢谢了!

  • 你好,请问你用的协议栈版本,用的哪个例程编译的Coordinator程序。

    在调用ZDOInitDevice( uint16 startDelay )函数以后,打断点是否可以到ZDApp_NetworkInit( extendedDelay );

    再打断点是否可以到void ZDO_StartDevice( byte logicalType, devStartModes_t startMode, byte beaconOrder, byte superframeOrder )这个函数里面。

    然后是否有调用

    NLME_NetworkFormationRequest( zgConfigPANID, zgApsUseExtendedPANID, zgDefaultChannelList,
    zgDefaultStartingScanDuration, beaconOrder,
    superframeOrder, false );