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.

[参考译文] CC2650STK:特征写入20个字节

Guru**** 2587365 points
Other Parts Discussed in Thread: CC2650, CC2640, BLE-STACK

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/595604/cc2650stk-characteristic-write-over-20-byte

器件型号:CC2650STK
Thread 中讨论的其他器件:CC2650CC2640BLE-STACK

很好!

我读过很多论坛主题、但我没有得到答案。 我将 CC2650 sensortag 硬件与经过修改的 ProjectZero 和 BLE SDK 2.2结合使用。 我在 Bluetooth Developer Studio 中创建定制服务/特征、并使用 TI 插件生成代码。 一切都很好、真的。 使用 BLE Scanner Android 应用的 Android 手机(Vernee Thor Android 6.0)中。 我看到我的服务特征、问题不在这里。

当我用超过20字节的字节编写特征时(在 BLE Scanner 写入文本模式中),我收到了我的所有数据,但分离了 ChangeHandler。  

我写一个示例、如果不清楚:

我写入到特性"012345678901234567890123456789"(3x10字节)我用两个数据包(如"01234567890123456789"(1x20)和另一个"0123456789"(1x10))接收到。 如果我用50字节写入、我将接收2x20和1x10数据包等

真正的问题是、有什么方法可以确定剩余多少"数据包"、或者可以确定接收到哪些数据包。

具有出色绘画技巧的 Realterm 抓图:

那么、问题是什么方法可以确定剩余多少"数据包"、或者确定接收到哪些数据包。 或者、我必须"破解"字符串末尾的特殊字符、或任何其他方法。

感谢您的回答!

最好的农家

Richard

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

    您好 Richard、

    此行为由针对 ATT 读取的蓝牙规范确定。 请参阅 BLE 论坛顶部的 CC2640常见问题解答博文、了解在规范中从何处查找 GATT/ATT 的详细信息。

    问题:您是否从 GATT 客户端(例如、您的电话)启动了 GATT MTU Exchange 过程? 如果您在 BLE-Stack SDK 中配置了更大的 MAX_PDU_SIZE、并且执行了此过程、则由于 ATT_MTU 大小更高、PDU 传输数应更少。

    祝你一切顺利

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

    Srry 的回答很晚。

    我更改了 MAX_PDU_SIZE、并尝试使用另一个 Android 应用程序、是的、"数据包"一个部分到达。 感谢您的回答和澄清。

    请注意、  

    Richard