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.

[参考译文] LAUNCHXL-CC26X2R1:在简单的中央示例中通知功能不起作用

Guru**** 2595770 points
Other Parts Discussed in Thread: CC2642R, CC2540

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1359066/launchxl-cc26x2r1-notify-feature-not-working-in-simple-central-example

器件型号:LAUNCHXL-CC26X2R1
主题中讨论的其他器件:CC2642RCC2540

大家好!

我使用的是 cc2642r 控制器、我在其中烧录了 simple_central 示例代码、并尝试连接到其他 ble 模块(HC-42)。 HC-42 (外围设备)具有具有通知属性的 UUID、当我们向该特征写入0x01时、该 设备启用通知功能、每当某些值发生变化时、该设备应通知中央设备(cc2642r)。 我们已 在 SimpleCentral_processGATTMsg ()中添加了一个 GATT 事件以用于通知,因此每当该特性值发生变化时,它都会通知我们。 我们使用 ATT_Handle_Value_Noti 方法来接收通知或更改值。  

基本来说、运行很简单、 当我们按下器件(cc2642r)上的按钮时、器件会发送一条 gattwrite 命令、该命令在特性(即"Client Characteristics Configuration")上写入0x01、从而启用该特性的通知功能。之后、只要 HC-42模块中的值发生变化、它就必须通知我们的中央设备、即通知它。

所以,我的问题是:-

1)有时通知功能在调试时起作用,但有时不起作用。 这不可靠。 原因是什么? 有什么想法吗? 在调试期间、 当通过 Hercules 软件在 HC-42模块中进行一些值更改时、它会命中 ATT_Handle_Value_Noti 方法、但有时我们会重试、但它不会命中 ATT_Handle_Value_Noti。

2)我已附上代码的屏幕截图、请参考。  ATT_Handle_Value_Noti 方法未被接收的所有可能原因是什么?

3)控制器- cc2642r , SDK - 7.10.24 , CCS 版本- 12
   

               

      

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

    您好!

    感谢您与我们联系。 通知发送的情况。 您能否确认通知已启用? 您是否可以读取 CCCD 以确定写入是否已完成?

    此致、

    1月

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

    大家好、Jan、

    我从 CCCD 读取该值时、它仅显示1、这是 CCCD 中的通知启用值。 但同时它也不会达到  SimpleCentral_processGATTMsg ()的 ATT_Handle_value_Noti 方法。 之前它到达 ATT_Handle_Value_Noti 处的调试点、但现在也没有到达一次。 我已经读取到它显示的 CCCD 值1、我在 simple_central 中使用 GATT 写入函数、这意味着写入成功。
    在从 HC-42器件发送数据时、无法启用通知的原因是什么。

    我附上了一些屏幕截图、请看一下。


    谢谢。此致、

    桑迪普·索纳瓦内

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

    Sandeep、您好!

    明白了。 感谢您的澄清。 您是否能够使用 BLE 监听器(例如 Frontline 或 Ellysis)。 我想了解通知是否是通过无线方式发送到器件、以及器件是否由于某种原因未对其进行处理。

    此致、

    1月

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

    大家好、Jan、

    感谢您的回复。 抱歉、我没有 Frontline 和 Ellysis 等工具。 是的、但我有 TI软件包监听器工具(CC2540 USB 软件狗)。 我们是否可以通过无线方式看到使用此工具的数据包。

    此致、

    桑迪普

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

    Sandeep、您好!

    不用担心。 很遗憾、CC2540无法跟踪 BLE5数据包、因此无法向我们提供 BLE5流量(其中包含通知)。 我们可以继续进行调试、而不执行此操作。

    我从 CCCD 中读取的值时,该值仅显示1,该值适用于 CCCD 中的通知启用。 但同时它也不会达到  SimpleCentral_processGATTMsg ()的 ATT_Handle_value_Noti 方法。 之前它到达 ATT_Handle_Value_Noti 处的调试点、但现在也没有到达一次。 我已经看到它显示的 CCCD 值1、我在 simple_central 中使用了 GATT 写函数、这意味着写入成功。

    澄清一下、您是否说现在根本没有收到任何通知? 代码是否从您收到一些通知的时间开始发生了更改?

    此致、

    1月