7个职位/ 0个新职位
最后发表
chennemos
离线
最后看到:4年9个月前
加入:2016-01-04 00:57
请问DA14580一次最多可以传输多少个字节吗?

请问DA14580每次最多可以传输多少个字节吗?我指的是一次性传输,不是多次分包。
现在在做一个项目,需要一次性传输约300个字节。
目前尝试修改MTU,发现最多只能改到103年左右,如果再增大的话,每次一连接就会断开。用的调试应用是IOS下面的LightBlue。
修改的MTU的位置:
user_config.h里面的
//--------------------- GAPM——相关 ----------------------------------

Static const struct gapm_configuration user_gapm_conf = {
.role = GAP_PERIPHERAL_SLV,
.irk = {0 x00 0 x00 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00, 0 x00},
///设备外观(0x0000 -未知外观)
//根据……填写https://developer.bluetooth.org/gatt/characteristics/Pages/Characteristi..。
.appearance = 0,
.appearance_write_perm = GAPM_WRITE_DISABLE,
.name_write_perm = GAPM_WRITE_DISABLE,
/ / /最大MTU
.max_mtu = 103, / / 23
/ / /外围 : *****************************************************************
在双槽中测量的最小连接间隔(1.25ms)
///使用宏MS_TO_DOUBLESLOTS从毫秒(ms)转换为双槽
.con_intv_min = MS_TO_DOUBLESLOTS (10),
在双槽中测量的最大连接间隔(1.25ms)
///使用宏MS_TO_DOUBLESLOTS从毫秒(ms)转换为双槽
.con_intv_max = MS_TO_DOUBLESLOTS (20),
/// Slave首选连接延迟。它是通过跳过连接事件来度量的
.con_latency = 0,
//从端优先的链路监控超时,以计时器为单位(10毫秒)
///使用宏MS_TO_TIMERUNITS将毫秒(ms)转换为计时器单位
.superv_to = MS_TO_TIMERUNITS (1000),

///隐私设置位域(0b1 = enabled, 0b0 = disabled)
/// - [bit 0]:隐私支持
/// - [bit 1]: Multiple Bond Support(仅外设);如果启用,隐私标志为
/ / /只读。
/// - [bit 2]:重连接地址可见。
.flags = 0
};
这里的.max_mtu改为103,原来是23。

请问BLE4.1一次最多能传输多少字节吗?如何实现?谢谢。

设备:
Gongyu_Dialog
离线
最后看到:6天10小时前
加入:2016-04-27 07:07
不知道你用的是基于什么工程来做开发的

不知道你用的是基于什么工程来做开发的。你可以查看需求方的工程,max_mtu可以设到160。
14580芯片最大可以支持到512字节的MTU_SIZE。但是需要两边设备都支持。
现在单个数据包的数据长度只能支持到27个字节。

chennemos
离线
最后看到:4年9个月前
加入:2016-01-04 00:57
非常感谢您的及时回复。

非常感谢您的及时回复。
我是基于ble_example下面的ble_app_peripheral这个过程做的开发。
需求方的例程我也有参考,所以刚开始的时候就是把max_mtu设为160,结果IOS的LightBlue一连接就断开,这也是我比较疑惑的地方。
我的需求应该和单个数据包的长度无关,因为这个自动分包是再蓝牙栈的底层进行的,和应用层无关。
或者我再把我的目的描述得更清楚点,我是想把我的个人资料里面的某些特征值的数据长度设计为300字节,这样就方便DA与其他设备之间在应用层可以一次性的进行数据的互相推送,所以max_mtu也相应的改为300。
根据您的回复,或许和手机那边有关系?系统?应用?

Gongyu_Dialog
离线
最后看到:6天10小时前
加入:2016-04-27 07:07
如果可以抓空中数,可以看一下ATT层关于MTU的信息交互。

如果可以抓空中数,可以看一下ATT层关于MTU的信息交互。
Exchange_MTU请求和Exchange_MTU响应

chennemos
离线
最后看到:4年9个月前
加入:2016-01-04 00:57
请问“抓空中数”是什么意思??

请问“抓空中数”是什么意思??
您是指进入蓝牙协议栈去看那2个相关的代码吗?
谢谢。

Gongyu_Dialog
离线
最后看到:6天10小时前
加入:2016-04-27 07:07
嗅探器工具可以捕获蓝牙空中交互的数据

嗅探器工具可以捕获蓝牙空中交互的数据

chennemos
离线
最后看到:4年9个月前
加入:2016-01-04 00:57
嗯嗯,谢谢。

嗯嗯,谢谢。