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.

[参考译文] CC2651R3SIPA:BLE -通知未工作

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1441797/cc2651r3sipa-ble--notification-not-working

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

工具与软件:

您好!

我将使用两个通过 BLE 连接的 CC2651R3SIPA 器件、一个器件使用 Simple Peripheral 示例配置为外设、另一个器件使用 Simple Central 示例配置为 Central。 外设正在生产中、无法修改其代码。我可以访问其属性声明、并且可以看到一个声明了两个特性的服务。

我在中央侧工作、我很难让通知生效。 "Simple Central"报告发现了服务和两个特征。 我正在向 CCCD 写入文献中显示的值0x0001、但我收到错误。

使用 BTool、我可以看到写入 CCCD 的操作成功、但我看不到任何返回的数据。

我已经检查并重新检查了我的固件和您的文献。 您能否提供启用有效通知的示例代码? 我希望外设发送其 TX_BUFFER 的内容、其中最多可包含256个字节。 .

谢谢你。

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

    您好、Diego:

    感谢您的咨询。

    我认为这两个示例可帮助您更好地了解从中央和外设端所需的实现。 中心: https://github.com/TexasInstruments-Sandbox/ble_examples/tree/simplelink_cc13xx_26xx_sdk-6.40/examples/rtos/LP_CC2651R3SIPA/ble5apps/simple_serial_socket_client。外设: https://github.com/TexasInstruments-Sandbox/ble_examples/tree/simplelink_cc13xx_26xx_sdk-6.40/examples/rtos/LP_CC2651R3SIPA/ble5apps/simple_serial_socket_server。您可以看到、 为了让中央设备接收传入数据、它必须先启用通知。 为此、它使用SimpleStreamClient_enableNotifications() API。

    [报价 userid="632146" url="~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1441797/cc2651r3sipa-ble--notification-not-working ]我正在向 CCCD 写入文献中显示的值0x0001、但我收到一条错误信息。[/QUOT]

    你会得到什么错误?

    [quote userid="632146" url="~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1441797/cc2651r3sipa-ble--notification-not-working 通过使用 BTool、我可以看到写入 CCCD 报告的操作成功了、但我看不到任何返回的数据。

    您的意思是通知仍然未发送?

    此外、在修改 GATT 表中的特性之前、您的特性是已加密还是需要进行身份验证、因此您需要先配对/绑定?

    BR、


    David。

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

    您好、David -感谢您的快速响应。  

    现在我已经下载了建议的代码、创建了一个新的空工程、并导入了保持相同结构的文件。 编译器报告错误:  

    无效参数'--product':未找到名为"simplelink_cc13xx_cc26xx_sdk"和版本"6.40.00.13"的产品。  

    我使用的是最新版本的库、但即使我尝试用正确的版本替换该代码行、报告的错误仍然存在。  

    我还应该做什么? 我不愿意使用较旧的库、因为我的现有代码是使用最新库版本编写的。 请告知-谢谢。  

    此致、

    Diego

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

    您好、Diego:

    您可以利用以下迁移指南获取最新的 SDK 版本: https://software-dl.ti.com/simplelink/esd/simplelink_cc13xx_cc26xx_sdk/7.40.00.77/exports/docs/ble5stack/ble_user_guide/html/ble-stack-5.x-guide/porting-guides/ble5stack2.02.07-to-ble5stack2.02.08.html 、然后是 https://software-dl.ti.com/simplelink/esd/simplelink_cc13xx_cc26xx_sdk/7.40.00.77/exports/docs/ble5stack/ble_user_guide/html/ble-stack-5.x-guide/porting-guides/ble5stack2.02.08-to-ble5stack2.02.09.html

    请告诉我如何发展。

    BR、

    David。

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

    你好 David -感谢信息。

    我已经遵循了基于 std simpleCentral 项目的客户端套接字的所有规则。 我得到一些错误、这些错误看起来与代码无关、而是与设置相关。 请参阅以下内容

    构建文件:"../myCentral20.syscfg"
    调用:SysConfig
    "C:/ti/sysconfig_1.18.1/sysconfig_cli.bat --script "C:/Users/User/workspace_v12/myCentral20/myCentral20.syscfg -o "syscfg"-s "C:/ti/simplelink_cc13xx_cc26xx_sdk_7_41_00_17/.metadata/product.json --compiler ticlang
    正在运行脚本...
    subdir_rules.mk:9:目标"Build-1686607199"的配方失败
    类型错误:无法设置未定义的属性(设置"$name")
       位于 scriptFunc (C:\Users\User\workspace_v12\myCentral20\myCentral20.syscfg:112:32)
       位于 CB (C:\ti\sysconfig_1.18.1\dist\webpack src:ts:112:7)
       位于 Object.withDeprecatedAccess (C:\ti\sysconfig_1.18.1\dist\webpack src:\DPIN\pinmux\services\弃 用 ts:14:10)
       位于 Object.runAsUserScript (C:\ti\sysconfig_1.18.1\dist\webpack:src \pinmux\services\scriptingGuard.Guard ts:61:3)
       在 ITERATE 处(C:\ti\sysconfig_1.18.1\dist\webpack src:ts:110:5)
       在 baseEach 下(C:\ti\sysconfig_1.18.1\dist\webpack:\node_modules\lodash\lodash.js:530:11)
       at function.each (C:\ti\sysconfig_1.18.1\dist\webpack:\node_modules\lodash\lodash.js:9409:52)
       在 iteratee (C:\ti\sysconfig_1.18.1\dist\webpack src:ts:108:6)处
       在 baseEach 下(C:\ti\sysconfig_1.18.1\dist\webpack:\node_modules\lodash\lodash.js:530:11)
       在 function.ua (C:\ti\sysconfig_1.18.1\dist\webpack:\node_modules\lodash\lodash.js:9409:52)
    gmake:***[BUILD-1686607199]错误1

    当我双击该错误时、它会将我带到 subdir_rules.mk 文件、其中显示以下内容:

    该错误似乎指向.syscfg 文件、但我不知道这些错误的具体含义。

    提前感谢您的帮助。

    此致、

    Diego

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

    您好、Diego:

    是的、它们似乎是与 SysConfig 相关的兼容性问题。 您能否介绍一下将示例移植到 SDK 中遵循了哪些步骤? 您是否已经完成移植、我不清楚。 此外、请分享您的项目属性。

    BR、

    David。

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

    尊敬的 David:

    我的问题有所解决、我发现一些与缺少头文件相关的其他错误、这些错误未在提供的链接中。 我在 GitHub 的其他地方找到了这些缺失的文件。

    现在我遇到了与使用 SDK 6.40在原始代码中调用的函数相关的问题、这些函数在 SDK 7_41中不再可用、请参见下图。 此外、不再使用 gapCentralRoleCB_t 等回调模板、应如何处理对"PinTable"的引用? 是否有相关指南说明如何将工程从一个 SDK 迁移到另一个 SDK? 谢谢你。

    下图显示了左侧 simple_serial_socket_client.c 和右侧 simple_central.c 的

    提前感谢您的帮助。

    此致、

    Diego

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

    您好 David -是的、我有、您在第一次答复中向我发送了这些链接、但很遗憾、这仅涵盖了一些一般项目。 有些特定函数不再使用或发生了明显变化、例如我之前提供的示例、以及现在使用的 UART 和 UART2等其他函数、一个处于阻塞模式、另一个处于回调模式、我可以在哪里找到有关此方面的其他指导?

    谢谢、此致、

    Diego

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

    您好、Diego:

    明白了、感谢您的确认。 我们没有这样的指南、我建议查看"从 BLE5-Stack 进行的一些值得注意的更改..."(指向 TI-RTOS 到 TI-RTOS7 Migration、GPIO++ Driver Porting Guide 和 UART 到 UART2移植指南)部分。 但是、考虑到您更关注了解通知背后的机制、我建议检查这是如何在示例中实现的(从外设和中央设备)、然后将实现所需的函数移植到最新 SDK 中的 simple_peripheral 或 simple_central 等示例、以避免移植一切并节省时间。

    BR、

    David。

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

    您好、David、感谢您回来回答我。 我仍在努力解决这个问题。 谢谢、我将查看其他链接。

    这些特征可能是加密的、它们的处理方式是否不同? 我正在使用标准的 simple central 代码、并且我确实收到服务被发现的内容、但是仍然无法从简单外设发送通知或者接收任何返回数据。

    提前感谢。

    此致、

    Diego

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

    您好、Diego:

    您曾提到、在尝试写入 CCCD 时遇到错误:"我正在向 CCCD 写入数值0x0001、如您的文献中所示、但我收到一个错误。"、您能否分享一下这是什么错误? 如果特征已加密、则必须先配对/绑定才能写入特征。 在 BTool 中、您可以使用"配对绑定"窗口:

    BR、

    David。