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.

加入网络和休眠问题

我现在想实现一个功能,如果终端上电周围没有网络可以加入,就进入休眠,下次上电再继续加入网络,如果没有网络还是继续休眠。

  • 可以实现的,程序里设定一个限时,此时间段内未搜索到可用网络就进入休眠

  • 能具体给我说说在什么地方加那个限时吗。

  • /*********************************************************************
    * @fn ZDApp_StartJoiningCycle()
    *
    * @brief Starts the joining cycle of a device. This will only
    * continue an already started (or stopped) joining cycle.
    *
    * @param none
    *
    * @return TRUE if joining stopped, FALSE if joining or rejoining
    */
    uint8 ZDApp_StartJoiningCycle( void )
    {
    if ( devState == DEV_INIT || devState == DEV_NWK_DISC )
    {
    continueJoining = TRUE;
    ZDApp_NetworkInit( 0 );

    return ( TRUE );
    }
    else
    return ( FALSE );
    }

    /*********************************************************************
    * @fn ZDApp_StopJoiningCycle()
    *
    * @brief Stops the joining or rejoining process of a device.
    *
    * @param none
    *
    * @return TRUE if joining stopped, FALSE if joining or rejoining
    */
    uint8 ZDApp_StopJoiningCycle( void )
    {
    if ( devState == DEV_INIT || devState == DEV_NWK_DISC || devState == DEV_NWK_BACKOFF )
    {
    continueJoining = FALSE;
    return ( TRUE );
    }
    else
    return ( FALSE );
    }

  • 这个两个函数我已经用过了,确实是没有搜索网络了,但是终端电流还是有10mA左右,没有进入休眠。还有我协议栈用的是2.5那个,会不会是协议栈的问题啊?

  • 10MA是外设耗电.检查最小系统. 比如拔掉核心板,看外设耗电量

  • 这个是我做的一个核心板,如果能正常入网电流就在10uA左右(我还有一个芯片外设是低功耗)。