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

本文深入解析了使用SDK14.2进行蓝牙设备自愿断开连接时,如何正确设置断连原因参数hci_status_code。强调了在用户主动断开蓝牙连接时,应使用BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION作为断连原因。

目前使用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的输入参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值