调用ble_gap_disconnect()不起作用

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
5个帖子/ 0新
最后一篇
ULFSöderberg.
离线
最后一次露面:6个月2周前
加入:2014-02-14 20:16
调用ble_gap_disconnect()不起作用

我正在使用DA14681开发用于BLE外设的固件,并无法让BLE_GAP_DISCONCONNECT功能下工作。
固件是USB HID和BLE之间的桥梁,其中设备作为BLE外设工作。

固件上的一个要求是,应该可以断开连接的智能手机应用程序。

当我用当前连接的连接索引调用ble_gap_disconnect函数时,没有任何反应。没有完成断开连接。

怎么会这样?

设备:
mt_dialog.
离线
最后一次露面:5个月4天前
职员
加入:2015-06-08 11:34
嗨Ulf Soderberg,

嗨Ulf Soderberg,

你能看到命令通过嗅探器发送在空中吗?您是否能够获得声明断开过程BLE_EVT_GAP_DISCONCONCECTED或BLE_EVT_GAP_DISCONCONCECT_FAILED的邮件中的一个消息?

谢谢mt_dialog.

ULFSöderberg.
离线
最后一次露面:6个月2周前
加入:2014-02-14 20:16
我还没有使用过嗅探器

我还没有使用过嗅探器。
我没有看到由交换机语句捕获的BLE_EVT_GAP_DISCONCONCONCONCONCONCED,并且BLE_EVT_GAP_DISCONCONECT_FAILED事件没有任何情况。
我在默认情况下添加了以下行,并通过设置一个断点我可以看到BLE_EVT_GAP_DISCONNECT_FAILED事件到达。


默认:
if(hdr-> evt_code == ble_evt_gap_disconnect_failed){
fff = 1;//在此代码片段上方定义的变量。在这条线上设置了断点
}
ble_handle_event_default(HDR);
休息;

那么,那是什么BLE_EVT_GAP_DISCONNECT_FAILED?

ULFSöderberg.
离线
最后一次露面:6个月2周前
加入:2014-02-14 20:16
调试更多的我

调试在更多后,我发现问题了。结果,“原因”参数错了。

通过改变
ble_gap_disconnect(peer_conn_idx,ble_hci_error_con_term_by_local_host);

ble_gap_disconnect(peer_conn_idx,ble_hci_error_remote_user_term_con);
它知道有效。

mt_dialog.
离线
最后一次露面:5个月4天前
职员
加入:2015-06-08 11:34
嗨Ulf Soderberg,

嗨Ulf Soderberg,

谢谢你的迹象。

最好的问候mt_dialog.