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.

Z-Stack3.0 demo 不能进ZDApp_event_loop函数

Other Parts Discussed in Thread: Z-STACK

在使用z-stack2.5.1的SampleLight demo的时候,使用CC debugger调试能看到进入ZDApp_event_loop函数调用ZDO_StartDevice,但是在Z-Stack3.0的SampleLight demo调试的时候却看不到进入ZDApp_event_loop的过程,对比两个例程的初始化基本一致,为啥会出现两种结果呢?

  • 你是不是想说 ZDOInitDevice( 0 ); 这个可以进入
    if ( events & ZDO_NETWORK_INIT )
    {
    // Initialize apps and start the network
    ZDApp_ChangeState( DEV_INIT );

    ZDO_StartDevice( (uint8_t)ZDO_Config_Node_Descriptor.LogicalType, devStartMode,
    DEFAULT_BEACON_ORDER, DEFAULT_SUPERFRAME_ORDER );

    // Return unprocessed events
    return (events ^ ZDO_NETWORK_INIT);
    }
    z-stack 3.0.2建议做如下操作:
    1)如何让协调器建网,如何在建网以后去绑定设备(在上面的附件文件中通过按键实现了)

    可以通过调用 bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_FORMATION | BDB_COMMISSIONING_MODE_FINDING_BINDING); 函数选择合适的模式。

    2)如何让路由或者终端设备进行加网,如何在加网以后去绑定设备

    可以通过调用bdb_StartCommissioning(BDB_COMMISSIONING_MODE_NWK_STEERING | BDB_COMMISSIONING_MODE_FINDING_BINDING);
  • 看不到进入的过程,但是结果是一样的吗?最终运行结果是不是都实现了同样的功能?
  • 有可能是因為IAR的optimization level設置為高造成的
  • 找到问题了,入网信息丢失是修改了bdb_StartCommissioning中间的部分代码导致的,现在问题解决了,谢谢。