nRF52832通过按键调用sd_ble_gap_disconnect触发蓝牙断连,报错NRF_ERROR_INVALID_STATE

目前使用SDK14.2。

参考连接:https://devzone.nordicsemi.com/f/nordic-q-a/416/how-can-i-voluntarily-disconnect-ble-devices

主要原因是uint32_t sd_ble_gap_disconnect(uint16_t conn_handle,uint8_t hci_status_code)的输入参数hci_status_code赋值不当,即断连原因被SDK视为异常。

这里有两种可以允许使用的断连原因,BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION与BLE_HCI_CONN_INTERVAL_UNACCEPTABLE,第二个断连原因在连接间隔在实际应用中不被接受时使用。

大部分情况下,用户操控蓝牙断连,断连原因应当使用BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION作为sd_ble_gap_disconnect的输入参数。

你可能感兴趣的:(蓝牙)