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:关于尝试重新启动 BLE 广播时发生的硬故障事件

Guru**** 2589300 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1365432/cc2340r5-regarding-hard-fault-event-when-tried-to-restart-ble-advertisement

器件型号:CC2340R5

尊敬的支持团队:

我正在尝试在 BLE 链路终止后重新启动 BLE 广告信息娱乐系统。

但看起来、它最终是硬故障、如下所示。  

此致。

Rasikraj.

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

    尊敬的 Rasikraj:

    感谢您与我们联系。

    您能否指定您正在使用的 SDK 版本?

    此致、

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

    建议 simplelink_lowpower_f3_sdk_7_40_00_64

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

    您好!

    谢谢您告诉我。

    您是否已选中 gAdvertisingHandle 不为 NULL?

    您是否查看了工程的构建警告列表?

    此致、

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

    您好!

    我想、Handle 似乎没问题、因为它试图启动广播和构建警告、几乎没有。 (仅重新定义交换机以绕过 Eclipse 问题)

    因为、广告设置的创建正常(Blestatus = Success)并且可以设置事件掩码。

    此致、

    Rasikraj.

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

    尊敬的  Rasikraj:

    对于完整性检查、您是否可以删除添加的定义、然后查看是否仍有问题?

    您是否还能分享重现问题所需遵循的步骤列表?

    此致、
    Tanguy.

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

    您好,Baltazart,

    我认为删除开关没有任何帮助。 只为允许在段中放置断点而重新定义。 (否则不会)

    步骤:

    1.开始广告。

    2. BLE 连接至演示板(例如使用 NRF Connect 智能手机应用程序)

    3.智能手机应用程序会连接,可以看到可用的服务。

    4. BLE 断开、当调试暂停时、会在 while (1)硬故障处结束。

    此致。

    Rasikraj.

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

    尊敬的  Rasikraj:

    您是否使用开箱即用的示例? 如果是、您能否说明您所做的修改、以便我重现问题。

    此致、

    丹桂语

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

    您好、Tanguy、

    它不是开箱即用的任何东西。 如前所述、它基于  simplelink_lowpower_f3_sdk_7_40_00_64。

    我开始进行一些更改、以基于该示例构建我们的应用。

    附加所做更改的一些屏幕截图。

    一项观察结果:

    通告事件处理程序( Peripheral_GAPConnEventHandler )除非未设置其事件掩码,否则不会被调用。

    (虽然在 BLE 示例项目中、不会设置事件掩码)

    有什么方法可以对其进行调试吗? 如何查看调用跟踪或某些内部系统状态?

    此致。

    Rasikraj.

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

    尊敬的  Rasikraj:

    感谢您提供更多的细节、Peripheral_Adv Handler 不能用作广播集回调函数。 是否可以在   GapAdv_create 中用 BLEAppUtil_advCB 替换 Peripheral_Adv Handler(您可以在 BLEAppUtil_stack_callbacks.c 中找到此函数)?

    最后、BLEAPPUTIL_ADV_SET_TERMINED 不是有效的 GAP Adv 事件、请检查  文档中的 GapAdv_eventMaskFlags_t 枚举 以了解所有可能的值。

    此致、
    丹桂语

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

    您好、Tanguay、

    感谢更新。  

    现在看来、我可以 替换 回调  BLEAppUtil_advCB。

    但是、如何处理这些回调中的 GAP 事件、例如 BLEAPPUTIL_ADV_START_AFTER_ENABLE、BLEAPPUTIL_ADV_END_AFTER_DISABLE  ?

    我尝试过像在 BLEAppUtil_advCB ()中一样在切换情况下使用这些事件,但这似乎会导致广告出现问题,它没有开始,例如

    此致。

    Rasikraj.

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

    您好、Tanguay、

    我现在可以使用  BLEAppUtil_advCB ()中的 GAP Adv 事件,如下所示,它似乎工作方式是这样的。

    这种使用方法是否正确?

    此致。

    Rasikraj.

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

    尊敬的 Rasikraj

    这些事件应在 eventhandler 函数中使用、这些函数应向 BLEAppUtil_registerEventHandler 注册。

    请看一下 basic_ble 示例中  的 app_peripheral.c、请特别注意 Peripheral_Adv 处理程序(线路4552)和 Util_Event peripheralAdvHandler (线路94)。

    此致、

    丹桂语

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

    您好、Tanguy、

    目前、我可以使用前面提到的这些事件、但我因下面的这种说法而感到困惑。

    因此,实际上我们需要使用 示例中的 Peripheral_Adv Handler(),但根据您之前的回复,我们不应该这样做。

    此外、它不需要为 ADV 注册 CB 事件处理程序、但似乎仅适用于连接。

    ADV CB 在 Gap_Create ()函数中引用,这似乎就足够了。

    此致。

    Rasikraj.

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

    尊敬的  Rasikraj:

    对不起、混淆了、

    Peripheral_Adv 2869处理程序是一个事件处理程序,应使用 BLEAppUtil_registerEventHandler 函数进行注册。

    GapAdv_create 回调的作用是将事件传输到 BLE5-Stack、以便由注册的事件处理程序处理它们。

    此致、
    丹桂语