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:每当调用 Gapscan_enable 时,它都会卡在 icallabort()中

Guru**** 2589300 points
Other Parts Discussed in Thread: CC2340R5

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1372459/cc2340r5-whenever-gapscan_enable-is-called-it-gets-stuck-in-icallabort

器件型号:CC2340R5

工具与软件:

大家好!

我将使用适用于 cc2340r5的 based_ble 示例代码。 在本例中、我创建了一个 用于中央工作的新文件。 在该文件中、我已配置1个按钮进行扫描、另外两个按钮用于执行 GATT_WRITE 和 GATT_READ 函数。 我必须在不对示例代码中已提供的 APP_CENTRAL 文件进行任何更改的情况下实现此功能。

在 central.c 文件中、我配置了一个用于扫描的按钮、其中我调用了 BLEAppUtil_scanStart (&centralScanStartParams)函数、该函数将调用 GapScan_enable (scanStartInfo->scanPeriod、scanStartInfo->scanDuration、scanStartInfo->maxNumReport);fution。 当这个 fucntgion 被称为它调用 uint32_t iCall_directAPI ( uint8_t service , iCall_lite_id_t id,..)但当这执行,它通过调用 iCall_abort()在无限 while 循环中卡住。 ICall 无法调用 BLE_Stack API。

我认为它会卡住,因为 iCall ()无法调用/找到 BLE_stack 的 GAP_scannable API。

我已经附上了代码图像、请参考并告诉我。

基本上,我想创建一个独立的文件,不依赖于 ble_basic (即 app_central )文件中给出的另一个文件。 请帮我创建。 我需要实现基本功能,如扫描和连接的一个按钮,第二个按钮用于 GATT_WRITE 操作。 请告诉我、我是否已注册此函数的其他功能、以便它可以访问 BLE_Stack API。

CSS 版本- 12.5

SDK 版本-  simplelink_lowpower_f3_sdk_7_40_00_64

控制器:- CC2340R5

                    

谢谢。此致、
桑迪普·索纳瓦内

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

    Sandeep、您好!

    感谢您提供有关如何重现问题的信息。 在我看来、这可能与从未向 ICall 注册的任务调用 BLE5Stack API 有关。 根据您提供的信息:

    1.) 您使用自己的文件在器件上实现中央功能

    2.) 您可能会运行自己的任务来实现集中功能

    这些迹象向我表明、您很可能在未向 ICall 注册的任务内部调用 BLE5Stack API。 我想向您介绍 ICall 的文档、以及如何对其进行配置以实现所需的功能。 请 在此处找到 iCall 文档的链接。 我相信,当你成功地注册你的任务到 iCall,你将能够调用相关的 BLE5Stack API,而不会使软件崩溃 iCall_abort ()

    作为一个后续问题、我想了解您的用户应用程序要求独立于 app_central.c 文件。 这对我来说是最好的帮助。 您能否提供一些背景信息、说明您想要实现的目标以及实现的方式/原因。

    非常感谢、Best、
    阿赫尤特·雷