Other Parts Discussed in Thread: SYSCONFIG
器件型号: CC2744R7-Q1
主题: SysConfig 中讨论的其他器件
您好:
一般信息:
SDK:9.11.0.18
SysConfig:1.25.0
主板:CC2744 R7
项目:中心角色
Sysconfig 中的 255 最大 MTU 大小设置
在尝试使用函数 GATT_WriteNoRsp 向服务器发送消息时、我们遇到了问题。
步骤:
调用 GATT_ExchangeMTU
attExchangeMTUREQ_t mtuReq;
mtuReq.clientRxMTU = 251;//示例:请求 255 个字节
bStatus_t STATUS = GATT_ExchangeMTU (aData_ptr->ConnHandle_U16、&mtuReq、gSelfEntity);
if (status == success){
_asm(“NOP")“);
}
结果:
a) 按如下方式调用 GATT 回调:首先在状态成功时调用 ATT_EXCHANGE_MTU_RSP、然后在状态成功时调用 ATT_MTU_UPDATE_EVENT。 不再使用 bleProcedureComplete 事件回调。
b) 我们可以看到交换发生在空中。 请求:02 07 03 00 04 00 02 FB 00 70 9D 2B。 回应:0A 07 03 00 04 00 03 FB 00 E1 92 46
C) 我们可以假设 MTU 交换已正确发生。 现在应将 MTU 设置为 2 的最小值、在这种情况下为 0xFB、正确吗?
5ms 后、我们启动大小为 0x3D 的 GATT_WriteNoRsp
结果:
a) GATT_WriteNoRsp 返回成功。
B) 不会通过空气进行实际传输。
c) 如果我们将长度缩短到 10 个字节、那么我们可以发送数据包->这让我认为 MTU 设置不正确。
请帮助我们说明为什么不能以默认的 MTU 大小发送数据包。
谢谢!