用户工具

站点工具


cc2640r2f:exchange_mtu

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
cc2640r2f:exchange_mtu [2017/09/02 12:19]
long
cc2640r2f:exchange_mtu [2021/06/22 23:14] (当前版本)
行 2: 行 2:
 # BLE 一次能传多少数据 # # BLE 一次能传多少数据 #
  
-BLE 到底一包能够收发多少数据是很多开发者都会关心的。我们知道 BLE 5.0 物理层设计 2Mpbs 的码元率,实际数据传输速率远远到不了这个级别。主要原因是无法直接单次发送 1M 或者 1K 数据,必须按照我们知道的 `ATT_MTU` 作为最大值进行拆包发送,不断拆包的过程中导致整体蓝牙有效数据吞吐量下降。本章节,我们实用性发研究如何究竟蓝牙一包能够发送多少数据。+BLE 到底一包能够收发多少数据是很多开发者都会关心的。我们知道 BLE 5.0 物理层设计 2Mpbs 的码元率,实际数据传输速率远远到不了这个级别。主要原因是无法直接单次发送 1M 或者 1K 数据,必须按照我们知道的 `ATT_MTU` 作为最大值进行拆包发送,不断拆包的过程中导致整体蓝牙有效数据吞吐量下降。本章节,我们实用性发研究如何究竟蓝牙一包能够发送多少数据。
  
 以下是 GAPP Client 进行特征值写请求的完整抓包,`AttValue` 表示写入的值,该值的最大长度到底是多少呢?本文将详细研究并且验证。 以下是 GAPP Client 进行特征值写请求的完整抓包,`AttValue` 表示写入的值,该值的最大长度到底是多少呢?本文将详细研究并且验证。
行 62: 行 62:
  
 ![](http://www.leconiot.com/md_res/cc2640r2f/ble_stack_app/app_examples/exchange_mtu/images/GATTserverandclient.png) ![](http://www.leconiot.com/md_res/cc2640r2f/ble_stack_app/app_examples/exchange_mtu/images/GATTserverandclient.png)
-对于 simpler_peripheral 工程我们的<a href="..\..\..\leconiot\cc13x0_cc26x0_evaluation_board\cc13x0_cc26x0_evaluation_board.html">开发板</a>作为 GATT Server 决定 `ATT_MTU` 的最大值。+对于 simpler_peripheral 工程我们的<a href="http://docs.leconiot.com/doku.php?id=cc2640r2f:leconiot:cc13x0_cc26x0_evaluation_board:cc13x0_cc26x0_evaluation_board">开发板</a>作为 GATT Server 决定 `ATT_MTU` 的最大值。
  
 simpler_peripheral 默认的 `ATT_MTU` 为 23 ,即实际写属性值最大长度为 20 。GATT 服务端 `ATT_MTU` 由以上宏定义,GATT 客户端可以通过`GATT_ExchangeMTU()` 命令配置。 GATT 服务端根据当前的配置的 ATT_MTU 决定是否生效。例如我们这里的 `simple_peripheral` 作为 GATT 服务端,以更改宏 `L2CAP_MTU_SIZE` 为 150 ,` GATT_ExchangeMTU()` 需要配置到 200,返回 150 表示生效。 simpler_peripheral 默认的 `ATT_MTU` 为 23 ,即实际写属性值最大长度为 20 。GATT 服务端 `ATT_MTU` 由以上宏定义,GATT 客户端可以通过`GATT_ExchangeMTU()` 命令配置。 GATT 服务端根据当前的配置的 ATT_MTU 决定是否生效。例如我们这里的 `simple_peripheral` 作为 GATT 服务端,以更改宏 `L2CAP_MTU_SIZE` 为 150 ,` GATT_ExchangeMTU()` 需要配置到 200,返回 150 表示生效。
行 93: 行 93:
  
 ``` ```
-由于增加了特征值 5 的大小为 240,相应参考特征的栈空间也得增加,它对应着任务栈,否则程序可能会跑飞。+由于增加了特征值 5 的大小为 248,相应参考特征的栈空间也得增加,它对应着任务栈,否则程序可能会跑飞。
 ``` ```
 //examples\rtos\CC2640R2_LAUNCHXL\blestack\simple_peripheral\src\app\simple_peripheral.c SBP_TASK_STACK_SIZE Line 180 //examples\rtos\CC2640R2_LAUNCHXL\blestack\simple_peripheral\src\app\simple_peripheral.c SBP_TASK_STACK_SIZE Line 180
cc2640r2f/exchange_mtu.1504325945.txt.gz · 最后更改: 2021/06/22 23:14 (外部编辑)