在ble_evt_gap_connected事件中解析之前的设备地址

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
9个帖子/ 0新
最后一篇
Apoudret.
离线
最后一次露面:1年7个月前
加入:2017-09-22 08:33
在ble_evt_gap_connected事件中解析之前的设备地址

你好,

连接到我们绑定的设备时,设备的实际地址会自动解决(使用LTK)。

目前,当我连接到具有特定地址的设备(分辨率之前的地址)时,我得到了一个连接的事件,该事件包含另一个地址(解析后的地址)。
这意味着我无法将事件的地址与我尝试连接的地址进行比较。

连接的事件是否有可能在解决之前持有已解析的地址和地址?这样我们就可以使用连接的事件识别设备,并且仍然知道设备的实际解析地址是什么。

此致,
安迪

设备:
PM_DIALOG.
离线
最后一次露面:4天7小时前
职员
加入:2018-02-08 11:03
嗨apoudred,

嗨apoudred,

让我检查连接的事件是否有可能在解决之前持有已解析的地址和地址,我会尽快通知您。只需澄清,DA14680就作为外围设备或作为中央设备?

谢谢,PM_DIALOG.

Apoudret.
离线
最后一次露面:1年7个月前
加入:2017-09-22 08:33
谢谢您的回答。

谢谢您的回答。

在我的情况下,DA14681充当中央设备:
1)我扫描附近的设备
2)我连接到特定设备(我已经与之粘合)
3)我得到了连接的活动

此致,
安迪

PM_DIALOG.
离线
最后一次露面:4天7小时前
职员
加入:2018-02-08 11:03
嗨apoudred,

嗨apoudred,

谢谢你提供的详情。我们正在研究您的问题,我们会尽快回复您。

谢谢,PM_DIALOG.

PM_DIALOG.
离线
最后一次露面:4天7小时前
职员
加入:2018-02-08 11:03
嗨apoudred,

嗨apoudred,

当一个随机地址被解析时,您将在BLE_EVT_GAP_ADDRESS_RESOLVED_T上保留分辨率之前和之后的BL_EVT_GAP_ADDRESS_RESOLVED和ALLA THA可用信息。请查看ble_gap.h头文件。因此,您必须做的是在应用程序级别处理BLE_EVT_GAP_ADDRESS_RESOLVED。例如,在SDK的PXP_Reporter示例中,我建议检查PXP_Reporter_Task()函数以及应用程序如何尝试使用BLE服务框架处理每个事件。所以,在您的情况下,您应该添加以下代码片段:

案例ble_evt_gap_address_resolved:

handle_evt_gap_address_resolution((ble_evt_gap_address_resolved_t *)hdr);

休息;

所以,通过这种方式,您将拥有您自己的函数,它将被称为Wheb您获得BLE_EVT_GAP_ADDRESS_RESOLVED事件。每次触发handle_evt_gap_address_resolution()时,您应该读取BLE_EVT_GAP_ADDRESS_RESOLVED_T结构的RegetVed_adress和地址项。

谢谢,PM_DIALOG.

Apoudret.
离线
最后一次露面:1年7个月前
加入:2017-09-22 08:33
你好pm_dialog,

你好pm_dialog,
谢谢你回答。

我已经使用了你的例子,但是在我的经验中,调用ble_gap_connect()不生成ble_evt_gap_address_resolved事件。
我得到ble_evt_gap_connected事件,但不是ble_evt_gap_address_resolved一个。
在我看来,这个事件只在调用ble_gap_address_resolve()后生成。

我错了吗?
安迪

PM_DIALOG.
离线
最后一次露面:4天7小时前
职员
加入:2018-02-08 11:03
嗨apoudred,

嗨apoudred,

你是对的。当BLE_GAP_CONNECT()触发时,您将获得BLE_EVT_GAP_CONCONTEC,当BLE_GAP_ADDRESS_RESOLVE()调用您获取BLE_EVT_GAP_ADDRESS_RESOLVED时。

谢谢,PM_DIALOG.

Apoudret.
离线
最后一次露面:1年7个月前
加入:2017-09-22 08:33
你好pm_dialog,

你好pm_dialog,

我想要的是在我连接到设备时解决分辨率之前解决的地址和地址。

由于我连接到设备,因此我没有得到BLE_EVT_GAP_ADDRESS_RESOLVED事件,即使在连接时会发生地址。

安迪

PM_DIALOG.
离线
最后一次露面:4天7小时前
职员
加入:2018-02-08 11:03
嗨apoudred,

嗨apoudred,

为延迟道歉。你的意思是,当BD地址得到解决时,您无法获得BLE_EVT_GAP_ADDRESS_RESOLVED?您能否请确保在连接之前触发handle_evt_gap_address_resolution?

谢谢,PM_DIALOG.