6个员额/ 0个新员额
最后发表
Jda
离线
最后看到:3年5个月前
加入:2015-04-24十43
连接建立失败

你好,

我们目前正处于产品原型阶段,该产品使用DA14580。一位客户带回来的样机无法连接。

当我试图连接设备时,它立即断开连接。我的BLE工具显示断开原因0x23e ('LL启动一个连接,但连接已建立失败。Controller did not receive any packets from remote end')。
我用BLE嗅探器检查了这个行为。Sniffer显示连接请求后的第一个包被从设备(DA14580设备)ACK'ed,但所有其他包都没有ACK'ed,没有进一步的数据交换(因此没有连接参数更新等)。

所以我无法连接设备,只有DA14580的硬件复位才能解决这个问题。

有人知道是什么导致了这个问题吗?

BR,
Jesper

设备:
Jda
离线
最后看到:3年5个月前
加入:2015-04-24十43
你好,

你好,

今天发现我在app_connection_func的末尾调用app_param_update_func,而不是在app_connection_func的if子句中调用。这显然是错误的,但这可能是我遇到的问题的原因吗?在这个问题发生之前,我们已经多次连接到这个设备了,所以我想知道这可能是什么原因造成的。请建议。

BR,
Jesper

MT_dialog
离线
最后看到:3周6天前
工作人员
加入:2015-06-08 34
嗨防卫厅,最早于

嗨防卫厅,最早于

这可能是你断开连接的原因,我们从来没有经历过类似的事情,据我所知,但我们把更新参数功能后的连接确认和一定的时间后,在新的SDK。这样做不是因为我们断开了连接,而是为了确保主机已经完成发送参数,并且在发送更新请求时是安全的。现在,如果在连接确认之前发出更新参数请求,就有可能断开连接。

由于MT_dialog

Jda
离线
最后看到:3年5个月前
加入:2015-04-24十43
嗨MT_dialog,

嗨MT_dialog,

谢谢你的回复。如果我理解正确,更新app_connection_func中的If -子句中的参数是安全的,但如果在更新参数之前引入延迟则更安全,对吗?

BR,
Jesper

MT_dialog
离线
最后看到:3周6天前
工作人员
加入:2015-06-08 34
嗨防卫厅,最早于

嗨防卫厅,最早于

是的,请看看新SDK5中的基本示例user_app_connection()函数。它检查外设指定的参数,如果它们不是首选参数,它就启动一个计时器,以发出更新参数请求。

由于MT_dialog

Jda
离线
最后看到:3年5个月前
加入:2015-04-24十43
嗨MT_dialog,

嗨MT_dialog,

非常感谢。我已经研究了您在新的SDK中提供的解决方案,我将在我的应用程序中创建一个类似的结构。

BR,
Jesper

主题锁定