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.

Central 与 Peripheral 连接后。Central 能很快知道 Peripheral 断电引起的断开连接?

主机烧录 Central , 从机 烧录Peripheral  

连接上我用led1亮 来标记,断开连接我用led 不亮 来标记。

实际中。连接后led1 亮了。然后,我把从机断电后要经过3~4秒 主机的led1 才不亮,就是说从机断电3~4秒后,主机才会知道已经断开了。 

问题来了:

                  主机要怎么第一时间知道 从机因断电或者离主机太远引起的断开连接, 就不说第一时间吧,但是3~4秒有点太久了。

       是不是可以连接后,然后主机通过循环读取RSSI来判断 ,如果可以,应该用什么函数,

问题就是这样,  主机要怎么第一时间知道 从机因断电或者离主机太远引起的断开连接, 就不说第一时间吧,但是3~4秒有点太久了。

亲爱的 @YAN ~~  赶紧现身~~~

       

  • Can you please try below way

     

    Modify below        

    // Go to WAITING state, and then start advertising

            if( pPkt->reason == LL_SUPERVISION_TIMEOUT_TERM )

            {

              gapRole_state = GAPROLE_WAITING_AFTER_TIMEOUT;

            }

            else

            {

              gapRole_state = GAPROLE_WAITING;

            }

     

    To:

    // Go to WAITING state, and then start advertising

    //        if( pPkt->reason == LL_SUPERVISION_TIMEOUT_TERM )

    //        {

              gapRole_state = GAPROLE_WAITING_AFTER_TIMEOUT;

    //        }

    //        else

    //        {

    //         gapRole_state = GAPROLE_WAITING;

    //        }

  • 可以自己写一个周期性的特征值Read事件,或者从机上实现一个心跳的Notify,主机通过传送的数据判断是否断开。
    手机上底层是无法修改的,所以最好采用传送数据来判断,不等待底层异常。 

x 出现错误。请重试或与管理员联系。