跳转到主要内容

蓝牙传输的数据大小

DA14531

1个月前

蓝牙传输的数据大小

发布的Jin-Hoon金60点 4回复
0的问题

你好,

我试图通过蓝牙发送大型数据阵列。

目前我一次只能发送20个字节的数据。

所以我的问题是,我如何增加数据包的大小到251字节?

2)是否有使用蓝牙5.1,而不是蓝牙低能量传输更大的数据包的示例代码?

谢谢你!

1个月前

PM_Dialog

嗨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

1个月前

Jin-Hoon金 60点

嗨,对话框的团队,

非常感谢您的回复。

不好意思打扰你了,我们使用的是DA14531微处理器,不是DA1469x系列。所以你能给我们意见如何增加DA14531的数据包大小吗?

此外,我想知道如果我必须发送大数组的数据(~几百kb),那么我应该通过多个包发送吗?

基本上,我正在尝试做一个几百kB的大量数据传输。在该应用程序中,设备将数据保存在本地内存中几分钟,然后连接到电话并大量传输数据。最好的方法是什么?我使用DA14531和DA14585。

谢谢你!

Jin-Hoon

1个月前

PM_Dialog

嗨Jin-Hoon金,

为造成的混乱道歉——可能是我误读了输入的设备。然而类似的概念是为DA14531。

请检查以下示例:

http://lpccs-docs.dialog-semiconductor.com/SW_Example/SDK6/Dynamic_DLE_L2CAP_Packet_size_Optimization/index.html

有用的信息:你也可以使用GIT repo来克隆我们的SW示例和SW交付物:

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

1个月前

Jin-Hoon金 60点

嗨,对话框中,

感谢您的回复!我会试试你推荐的。

最好的

Jin-Hoon