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.

[参考译文] RTOS/CC2640:每个连接事件有多个数据包

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

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/602927/rtos-cc2640-multiple-packets-per-connection-event

器件型号:CC2640

工具/软件:TI-RTOS

您好!

我一直在尝试更好地了解连接事件期间多个数据包的工作原理。 如果中央设备是 iOS 或 Android 设备、在连接事件期间、从外设发送到中央设备的数据包数量似乎受到限制、 但数量因您拥有的 iOS 或 Android 版本以及您使用的设备(iPhone 6与7、Galaxy S8等)而异。

将其与向另一个 CC2640芯片发送数据包进行比较、在该芯片中、似乎连接事件期间可以交换的数据包数量没有任何限制、如 through_example 项目所示、 其中、通知将从外设持续发送到中央设备、直到连接间隔时间增加、并且必须跳过信道、然后恢复发送通知。

1.这些假设是否正确?

我正在尝试模仿 through_example 项目中所做的工作、通过从外围设备到中央设备的通知发送大量数据。 through_example 是实现此目的的良好起点、但如果有一个场景是我与 iOS 或 Android 设备通信、这意味着我只能在连接事件期间发送4-6个通知、而不能在连接事件中发送尽可能多的通知。 那么、这是如何工作的?

2.应用程序代码是否负责跟踪它在连接事件期间发出的通知数量?

3.如果是,这是如何工作的,或者跟踪连接事件期间发送的通知以及何时开始在下一个连接事件上发送通知的最佳方法是什么。

似乎没有任何有关此主题的文档、也没有很多有关如何处理 iOS 和 Android 限制的信息、只是因为它们有限制。 是否有任何文档描述了我遗漏的内容?

提前感谢。

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

    嗯、对发送多少个数据包的限制(假设电话是中央/主设备)基本上取决于主设备。 在特定连接事件中、某些电话数次后不会显示。 (因此、在该连接事件期间、从器件将无法发送额外的数据)

    基本上、主器件是连接事件期间可发生多少次交换的最终决定因素(假设从器件可以执行很多交换)

    是-由应用程序跟踪发送的通知数量。 如果我正确地回忆一下、有堆栈挂钩可用于检查有多少个 L2CAP 缓冲区可用、但目前没有在任何示例中显示。 L2CAP_RegisterFlowCtrlTask。 我检查有关此文档的文档、我不确定它当前是否有文档。

    关于 iOS 或 Android 的限制、我不确定这些限制-您可以在其开发人员的门户上找到 iOS 文档。 对于 Android、可能会因使用的控制器而异。

    我希望这对您有所帮助、
    反叛分子