This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2642R: GATT_ExchangeMTU耗时超长

Part Number: CC2642R
Other 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内完成。

请求技术支持!