伦茨科技ST17h66 BLE notify 发送超过20字节修改MTU方法

        BLE默认wirite特征值Notify发送数据一帧最大携带20字节数据。蓝牙4.2协议规范后可以通过客户端修改MTU大小,修改范围为23-517个字节。首次连接为了兼容所有的BLE蓝牙设备,所有服务端默认的MTU 为23,去掉1个字节的操作码和2个字节的UUID句柄,所以默认一包最多传20个字节。在蓝牙连接建立后,客户端和服务端会互相交互字节最大支持的MTU,客户端(比如手机)可以根据时间情况修改服务端(蓝牙外设)支持的MTU大小。

这里以伦茨科技ST17h66为例:

首先修改服务端最大支持的MTU大小

		uint8_t mtuSet = 247;
		llInitFeatureSet2MPHY(TRUE);
		llInitFeatureSetDLE(TRUE);
		ATT_SetMTUSizeMax(mtuSet);

客户端使用nrf-connect连接蓝牙,连接成功后

 

 根据时间情况修改MTU大小,然后通过notify发送数据测试,这里发送200个字节,客户端可以收到数据。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值