我是在simplelink_cc2640r2_sdk_ble_example_pack_1_40_00_50 这个sdk的这个目录下的
C:\ti\simplelink_cc2640r2_sdk_ble_example_pack_1_40_00_50\examples\rtos\CC2640R2_LAUNCHXL\ble5apps\heart_rate
heart_rate例程上调试的。
修改PDU代码如下:
uint16_t cxnHandle; //Request max supported size
uint16_t requestedPDUSize = 251;
uint16_t requestedTxTime = 2120;
GAPRole_GetParameter(GAPROLE_CONNHANDLE, &cxnHandle); //This API is documented in hci.h
HCI_LE_SetDataLenCmd(cxnHandle, requestedPDUSize, requestedTxTime);
BLE5.0 发送大于20字节数据, 除了设定pdu的长度外,还有哪些其他要注意的么?
现在困惑的是,既然能够发送大于20字节的,为啥达到80字节这个长度就不行了呢?
user1388075:
80100 200240都试过,不行。 30 40 60 个字节都是可以正常收到数据没有问题的
Kevin Qiu1:
回复 user1388075:
看一下MTU的大小设置,dev.ti.com/…/index.html
user1388075:
回复 Kevin Qiu1:
uint16_t cxnHandle; //Request max supported size
uint16_t requestedPDUSize = 251;
uint16_t requestedTxTime = 2120;GAPRole_GetParameter(GAPROLE_CONNHANDLE, &cxnHandle); //This API is documented in hci.h
HCI_LE_SetDataLenCmd(cxnHandle, requestedPDUSize, requestedTxTime);
上面这个不是的么?
你给的那个链接好长,能列出具体相关的代码么
user1388075:
回复 Kevin Qiu1:
#define GATT_MAX_MTU0xFFFF //!< Maximum MTU size
在工程里面搜到了这个,不知道是不是?但是这里为啥是0XFFFF
Kevin Qiu1:
回复 user1388075:
在 the stack章节里面的Logical Link Control and Adaptation Layer Protocol (L2CAP)中
user1388075:
回复 Kevin Qiu1:
就不能直接贴点代码么
Kevin Qiu1:
回复 user1388075:
看下这里的方法:blog.csdn.net/…/76814107