解析 CC2541 的 BLE 数据包为什么是 20 字节
来源:互联网 发布:红蜘蛛 软件 编辑:程序博客网 时间:2024/06/08 11:49
大家都知道蓝牙 BLE 发送数据时都是 20 字节一个包,那么为什么是 20 字节呢?当然是——蓝牙协议规定的。。。
协议规定,payload 最大 27。在协议第六章中的 2.4,刨去 L2CAP 的头,4 个字节,剩下的就 23 个字节 MTU。就是你看到的。ATT 层会用掉上 1 个字节的 op code, 2 个字节的 attribute handle,就剩下 20了。这剩下的 20 字节就是我们常说的发送的 20 字节的数据。
上面是蓝牙协议 4.0 中的内容。所以这个 MTU 是不少于 23,也是可以修改的,但是前提是 client 支持修改 MTU,如果 client 只支持 Default Value,那就不能修改。如果一个设备既有 client 又有 server,那么 client Rx MTU 和 server Rx MTU 必须是一样的。
但是这个修改我不确定是不是 BLE 的特性,问了 TI 的人,给的回答是 BLE 允许修改 MTU 是蓝牙 4.1 的新特性,姑且相信他吧。
Ps.
最近在做 TI 的 CC2640 的东西,因为需要测速度,所以问 TI 的人,他们给了一个链接:http://processors.wiki.ti.com/index.php/CC2640_BLE_Throughput
这里面给出了修改 MTU 的方法,并说这是 BLE 协议的新特性。
0 0
- 解析 CC2541 的 BLE 数据包为什么是 20 字节
- 【BLE】CC2541之解析simpleBLECentralEventCB
- 【BLE】-CC2541协议栈有关宏的解析
- [BLE] CC2541 BLE Peripheral工程的建立
- 【BLE】CC2541之解析协议栈的晶振初始化过程
- [BLE] CC2541的开启广播过程
- 【BLE】CC2541与CC2540的区别
- 【BLE】CC2541之配对密码的重置
- BLE-CC2541项目的一点经验记录
- CC2541 BLE Peripheral工程的建立
- 为什么以太网无法接收大于1500字节的数据包?
- 为什么以太网无法接收大于1500字节的数据包
- CC2541 BLE上层架构
- 【BLE】CC2541之notify
- BLE CC2541串口调试
- 【BLE】CC2541之按键
- 【BLE】CC2541之RSSI
- 【BLE】CC2541之OLED
- 旋转数组的最小数字
- startActivityForResult出错
- 一波面经。。。
- opencv入门01(visual studio2010)--20151229
- 用Fragment制作的Tab页面产生的UI重叠问题
- 解析 CC2541 的 BLE 数据包为什么是 20 字节
- Objective-C对方法进行注释的方法
- 亮仔移植u-boot系列之-- S3c2440在最新版本U-boot-2015.10移植(支持SPL模式启动) -- 3
- ios学习笔记UITableViewCell重用时出现重影的解决方案
- gradle导出依赖的jar包
- 虚函数
- API文档,已取消到该网页的导航
- JSON 数据格式
- 8.2 气泡地图