MTU设置问题

CH579作为从机,手机APP作主机,怎样在建立连接后对CH579进行MTU设置?

这样来尝试一下

1653617930376623.png

1653617930204868.png

修改完之后,手机APP右上角修改MTU改为247。


要让ch579主动断开连接

static void Peripheral_LinkTerminated( gapRoleEvent_t * pEvent )

这个api的参数该怎么写?


使用这个函数主动断开连接 GAPRole_TerminateLink,参数传入连接句柄。


/**
 * @brief       Terminates the existing connection.
 *
 * @return      SUCCESS or bleIncorrectMode
 */
extern bStatus_t GAPRole_TerminateLink( uint16_t connHandle );


主动断开用这个函数


可以多解释一下您给出解决方法的3个数字的关系吗?

251 --- 247 --- 244


247是mtu,范围是23到247,最大值是247,

244是实际能够notify的一包的长度,根据mtu-3得到,

243是实际write和read一包的长度,根据mtu-4得到,

251是BLE_BUFF_MAX_LEN(单个连接最大包长度( 默认:27 (ATT_MTU=23),取值范围[27~251] )),

由他减去4得到最大的交互mtu的值,如默认27,则交互mtu最大为23,修改为最大值251后mtu可交互最大值为247.


追问:MTU是L2CAP的概念,对于MTU=247,如果用BLE Anaylser抓包,还是“数据报文”的最大长度27字节吧?即会抓到10个数据报文。

没有实测,提前问问。


只有登录才能回复,可以选择微信账号登录