Part Number:CC2642ROther Parts Discussed in Thread:CC2640R2F
使用TI的simple_central和simple_peripheral测试,主机扫描到从机,建立连接后,会调用GATT_ExchangeMTU更新MTU:
static void SimpleCentral_startSvcDiscovery(void)
{
bStatus_t status;
attExchangeMTUReq_t req;
// Initialize cached handles
svcStartHdl = svcEndHdl = 0;
discState = BLE_DISC_STATE_MTU;
// Discover GATT Server's Rx MTU size
req.clientRxMTU = scMaxPduSize – L2CAP_HDR_SIZE;
// ATT MTU size should be set to the minimum of the Client Rx MTU
// and Server Rx MTU values
VOID GATT_ExchangeMTU(scConnHandle, &req, selfEntity);
}
SimpleCentral_processGATTMsg(gattMsgEvent_t *pMsg)函数中收到ATT_MTU_UPDATED_EVENT需要2s的情况非常少见,大部分情况需要10s或者更长时间,而且在这个过程中,连接经常自动断开。
无法理解为何会这样。用CC2640R2F,不会这样,更新MTU都是2s内完成。
请求技术支持!
Nick Sun:
您好,
您能告知一下您的SDK版本吗?使用的硬件是TI的launchpad还是您客制化的板子?
,
Nick Yao:
SDK版本:simplelink_cc13xx_cc26xx_sdk_5_40_00_40
硬件为自制最小系统板。原理图 蓝牙模块-CC2642_V1.3.pdf
,
Nick Sun:
您好,
您这边GATT_ExchangeMTU()函数的返回状态是什么?您尝试更新的 ATT MTU 大小的值是多少?