This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2640R2F:HCI_EXT_ScanReqRptCmd未返回扫描请求报告

Guru**** 2558250 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/583581/cc2640r2f-hci_ext_scanreqrptcmd-not-returning-scan-request-report

部件号:CC2640R2F
主题中讨论的其他部件:BLE堆栈

大家好!

我正在尝试使用SimpleBLEBroadcaster示例中的v BLE 3.0 的扫描请求报告功能。 我阅读了HCI BLE堆栈API和TI BLE供应商特定的HCI指南,但到目前为止我没有成功。 这就是我所做的:

1.从 堆栈库中的build_config.opt取消注释-DEXTRA_ADV_FEAT=SCAN_REQ_RPT_CFG。

2.在 SimpleBLEBroadcaster_init()中添加了HCI_EXT_ScanReqRptCmd (HCI_EXT_ENable_SCAN_REQUEST_REPORT)。 这始终是成功的:

//启动设备
void GAPRole_StartDevice(&SIMPLEBLEBroadcaster_BroadcasterCBs);

//使用GAP注册HCI/Host Messages
GAP_RegisterForMsgs (selfEntity);

//配置蓝牙低能耗协议堆栈以返回扫描请求报告事件
hciStatus_t状态= HCI_EXT_ScanReqRptCmd (HCI_EXT_ENable_scan_request_report);

如果(status == HCI_SUCCESS){
//Success!
} 否则{}

3.在 SimpleBLEBroadcaster中检查这些事件。StackMsg:

开关(pMsg->event)
{
案例HCI_GAGE_EVENT_EVENT:
{
//处理HCI消息
交换机(pMsg->status)
{
案例HCI_LE_EVENT_CODE:
{
hciEvt_BLEScanReqReport_t* scanRequestReport =(hciEvt_BLEScanReqReport_t*)pMsg;
IF (scanRequestReport -> BLEEventCode == HCI_BLE_SCAN_REQ_REPORT _EVENT)
{
//如果收到扫描请求报告,请执行某些操作
}
}
中断; 

IF (scanRequestReport -> BLEEventCode == HCI_BLE_SCAN_REQ_REQ_REPORT _EVENT)从不为TRUE。

我尝试了不同的解决方案,但它仍然不起作用。 非常感谢你的帮助:)。

巴西,

Ismael

**EDIT:广告类型已设置为可扫描无方向以接收扫描请求。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Ismael,

    在我看来还不错! 我尝试使用简单的外围设备和简单的广播设备(与您的添加项一起使用)

    是否在更改build_config.opt文件后重建了堆栈?

    此致,
    反叛分子
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好,Rebel,

    是的,我清理并重建了堆栈和应用程序,我在应用程序中包括了hci_tl.h,但仍然无法正常工作。 实际上,在CASE pMsg->status->HCI_LE_EVENT_CODE中不输入。

    如果我找到解决方案,我将在此处发布。 谢谢!

    巴西,

    Ismael。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    还不错! 代码正确,现在正在工作:)。 谢谢!