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.

[参考译文] CC2340R5:在观测器模式下检测到器件时获取广播数据

Guru**** 2331900 points
Other Parts Discussed in Thread: CC2340R5, SYSCONFIG
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1468625/cc2340r5-obtaining-the-advertisment-data-when-detected-a-device-in-observer-mode

器件型号:CC2340R5
主题中讨论的其他器件: SysConfig

工具与软件:

您好!

我将使用 basic_ble 示例来对 CC2340R5 LaunchPad 进行编程、并使用 SimpleLink 低功耗 F3 SDK 8.40.00.61进行编程。 使用此示例时、我希望实现的主要目标是检测发送广播数据的某个 BLE 信标并获取其有效载荷。  

我可以检测到器件、但无法在广播数据中看到有效载荷。 我已经了解了下图中代码的一部分、即 app_observer.c 中的一部分、我可以看到有一个 advReport 变量、其中存储了器件的信息。

当通过这个变量时,变量的结构是在下一张图片中:

我可以看到有一个指向广播数据的指针、但该指针未更新、因为在 SysConfig 中没有向报告添加 pData 的选项、如下所示:

在下图中、可以看到结构 advReport 中的数据:

pData 指向与有效负载实际所在的位置不对应的存储器地址。 您能帮助我访问存储广播有效载荷的存储器部分吗?

提前感谢您。

此致、

Eñaut μ A

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

    您好、Eñaut

    感谢您联系我们。 您能否分享将断点放置在用于监视 advReport 结构的应用程序中的位置?

    此致、

    1月

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

    您好、Jan:

    感谢您联系我们。 断点位于 app_observer.c 的第205行、如下图所示。 我只 在 SysConfig 中将器件角色更改为观测器、项目的其余部分 保持不变。 如果您有任何其他问题、请毫不犹豫地提问。

    此致、

    Eñaut μ A

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

    您好、Eñaut

    您是否根据广告报告数据执行任何输出或计算? 如果 Adv 报告数据不用于正在优化的任何内容、则可以这样做。 您是否可以尝试添加 MenuModule_printf 语句来打印一部分广播数据以查看我们是否可以看到它的打印?

    此致、

    1月

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

    您好、Jan:  

    我已经添加了 printf (如你所说)、但指针继续是一个指向方向0x00000000的指针、我已经添加了 advReport、RSSI 和指针本身的随机参数、以防优化指针。 但事实并非如此、我将我添加到代码中的两行照片以及 Tera Term 中的 menuModule 屏幕截图作为附件。

    此致、  

    Eñaut μ A

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

    您好、Eñaut

    您是否可以尝试将 BLEAPPUTIL_ADV_REPORT 事件掩码和事件添加到代码中、并尝试在接收到该事件而不是禁用扫描时查看广播数据?

    此致、

    1月

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

    您好、Jan:

    感谢您的帮助、我已经解决了这个问题。 这是一个优化问题,但与 advReport 变量无关,因为 funcion GapScan_getAdvReport()不会将指针复制到 advReport 变量中。 但是、在事件中停止时、它在 scanMsg 中可用的指针  

    BLEAPPUTIL_ADV_REPORT。 但我必须删除项目的优化才能查看该变量、默认情况下、优化位于 z 级别、我已将其更改为0级别、我可以看到它。
    再次感谢您的帮助。
    此致、
    Eñaut μ A