请问BLE蓝牙传送数据帧大小是多大啊,一帧数据有多大?
Viki Shi:
23字节
David wei:
回复 Viki Shi:
你好!
这个值是不是可以通过ATT_ExchangeMTUReq()函数修改MTU的值来扩大每帧的大小?
David wei:
回复 David wei:
你好!
// The Exchanging MTU Size is defined as the maximum size of any packet // transmitted between a client and a server. A higher layer specification// defines the default ATT MTU value. The ATT MTU value should be within// the range 23 to 517 inclusive.#define ATT_MTU_SIZE L2CAP_MTU_SIZE //!< Minimum ATT MTU size#define ATT_MAX_MTU_SIZE 517 //!< Maximum ATT MTU size
// Minimum supported information payload for the Basic information frame (B-frame)#define L2CAP_MTU_SIZE 23
看你们程序的时候找到了如上的宏定义,宏定义的意思是最小帧大小是23字节,最大应该是517字节,BLE传递数据的帧大小真有这么大的取值范围吗?这个帧大小可否通过GATT_ExchangeMTU (uint16 connHandle, attExchangeMTUReq_t *pReq, uint8 taskId)函数更改呢?这个函数具体的运行流程是怎么样的呀?好像例程里面没有具体的说明和使用实例,我现在不是很清楚client调用这个函数之后,service端是调用哪个函数来更改MTU大小,然后通过哪个函数回复结果给client端的。
另外如果我已经预知了我每帧的大小是600字节的话,可不可以直接通过修改宏定义ATT_MAX_MTU_SIZE 为600字节?