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.

[参考译文] CC2640:使用 BLE Stack 2.2.1和 ProjectZero 准备_queue_full

Guru**** 2551880 points
Other Parts Discussed in Thread: CC2640

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/579086/cc2640-prepare_queue_full-using-ble-stack-2-2-1-and-projectzero

器件型号:CC2640

我正在尝试将 IO 器件中的251字节特征写入 CC2640。

我正在使用修改后的 SimpleLink Academy ProjectZero。

我已在 BLE 堆栈项目中设置 MAX_PDU_SIZE = 255的预定义符号

与 Prepare_queue_full 相关的所有其他线程似乎都与不同的 BLE 堆栈和/或示例项目相关、并附有提示、提示此问题将在将来的堆栈中得到解决。

在本例中、我可以使用监听器确认 IOS 设备发送特性。

几个数据包后、BLE 堆栈发回一个 PREPARGE_queue_full 错误:

在搜索堆栈代码时、我在 att.h 中找到:

#define ATT_ERR_PREPARGE_queue_full 0x09 //!<已排队太多准备写入 

但是、这在堆栈代码中的任何位置都不使用。

如何增加 Prepare_queue?

我是否必须就大小限制与 IOS 设备协商,如果是,如何使用 GATT_ExchangeMTU()及其输入值?

谢谢、

戴尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉,但我得继续。 我决定让 IOS 应用程序将特性拆分为三个86字节部分、然后在 CC2640项目代码中对其进行重新汇编(在您必须更改默认值以写入具有较大特性的 CC2640之前、似乎限制了90字节)。

    我仍然对答案感兴趣,因为必须有办法,但我在我的技能水平上找不到完成这一任务的资源。

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

    iOS 设备(最多 iPhone 6S)通常执行客户端设置为158字节的 Exchange MTU。 iPhone 7大得多。

    要更改准备写入队列的大小、请参阅 SWRU393 SDG 中的"5.3.4.3排队写入"部分。
    "使用带有参数的 GATTServApp_SetParameter 调整 Prepare Write 队列
    GATT_PARAM_NUM_PREPARGE_PREPARIES。 没有指定的限制、但它受可用限制的限制
    HEAPMGR 空间。 请参阅 gattservapp.h"中的 API 定义。

    祝你一切顺利