DA14531
6个月前
发布的Jin-Hoon金180点 4回复你好,
我想通过蓝牙发送大量数据。
现在我一次只能发送20字节的数据。
1)所以我的问题是,我如何增加数据包的大小到251字节?
2)是否有使用Bluetooth 5.1而不是Bluetooth Low Energy传输更大尺寸数据包的示例代码?
谢谢你!
6个月前
嗨Jin-Hoon金,
很抱歉让你混淆了,可能是我读错了输入的设备。不过DA14531也有类似的概念。
请检查以下示例:
你也可以使用are GIT repo来克隆我们的软件示例和软件交付:
https://github.com/dialog-semiconductor/BLE_SDK6_examples
这个示例演示了如何请求DLE(数据长度扩展)并利用较大的数据包来提高吞吐量。
设备在连接间隔期间发送的数据量取决于中央允许外设发送的数据包。使用标准MTU选择的每个数据包的有效负载为20字节。所以你发送的每个数据最多可以携带20个字节。如果你想发送超过20个字节,你就必须增加MTU的大小。具体来说,设备可以通过空中发送的字节数受MTU (Maximum Transfer Unit)的限制,缺省情况下,MTU被限制在23字节,包括ATT层开销,因此有效负载是20字节。通过增加MTU大小,您可以通过空中发送更多字节。因此,您可以尝试更改user_config.h头文件中的user_gapm_conf结构中的.max_mtu。
谢谢,PM_Dialog
6个月前
嗨Jin-Hoon金,
为了发送超过20个,您应该使用ble_gap_mtu_size_set() API并设置适当的mtu_size。请注意,这个API函数应该在创建设备的属性数据库之前调用。这是因为设备配置将被修改,这将导致清除当前属性数据库(如果它存在)。同样,在ble_config.h头文件中定义数据长度:
#定义dg_configBLE_DATA_LENGTH_RX_MAX (251)
#定义dg_configBLE_DATA_LENGTH_TX_MAX (251)
请看一下DA1469x功耗教程查找关于MTU大小的更多信息。
谢谢,PM_Dialog