1.目的
从机主动断开蓝牙连接
2.分析
实际应用当中,时常需要需从机主动断开蓝牙,防止不明主机连接的情况
3.平台:
协议栈版本:SDK10.0.0
编译软件:keil 5.14
硬件平台:nrf51822最小系统
例子:SDK 10.0.0\examples\ble_peripheral\ble_app_uart\pca10028\s110\arm4
4.步骤
首先,要知道主动断开连接的API :
/**@brief Disconnect (GAP Link Termination).
*
* @details This call initiates the disconnection procedure, and its completion will be communicated to the application
* with a @ref BLE_GAP_EVT_DISCONNECTED event.
*
* @param[in] conn_handle Connection handle.
* @param[in] hci_status_code HCI status code, see @ref BLE_HCI_STATUS_CODES (accepted values are @ref BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION and @ref BLE_HCI_CONN_INTERVAL_UNACCEPTABLE).
*
* @retval ::NRF_SUCCESS The disconnection procedure has been started successfully.
* @retval ::NRF_ERROR_INVALID_PARAM Invalid parameter(s) supplied.
* @retval ::BLE_ERROR_INVALID_CONN_HANDLE Invalid connection handle supplied.
* @retval ::NRF_ERROR_INVALID_STATE Invalid state to perform operation (disconnection is already in progress).
*/
SVCALL(SD_BLE_GAP_DISCONNECT, uint32_t, sd_ble_gap_disconnect(uint16_t conn_handle, uint8_t hci_status_code));
APP_ERROR_CHECK(err_code);