开启PLUS_BROADCASTER后GAPRole_TerminateConnection()无效
各位好,
在ble从机里增加连接后广播的功能,也就是PLUS_BROADCASTER,连接后,从机主动调用GAPRole_TerminateConnection()后无效,取消PLUS_BROADCASTER后恢复正常。
ghostyu,
你打开PLUS_BROADCASTER 只有有没有把工程里的peripheralBroadcaster.c 和 peripheralBroadcaster.h 两个文件包含进去?
Hi Yan
你说的这俩文件,1.3.2协议栈及以前需要包含,我使用的是1.4的BLE协议栈,无需上述文件。
ghostyu,
好吧,我out 了。
我得再看一下。
peripheral.c文件中,增加一个判断条件,就ok了。
/*********************************************************************
* @brief Terminates the existing connection.
*
* Public function defined in peripheral.h.
*/
bStatus_t GAPRole_TerminateConnection( void )
{
if ( gapRole_state == GAPROLE_CONNECTED || gapRole_state == GAPROLE_CONNECTED_ADV )
{
return ( GAP_TerminateLinkReq( gapRole_TaskID, gapRole_ConnectionHandle,
HCI_DISCONNECT_REMOTE_USER_TERM ) );
}
else
{
return ( bleIncorrectMode );
}
}
Fred,
干得好:)