ch32v208的蓝牙协议栈是否支持数据长度扩展(LE Data Length Extension)功能?如果可以,如何实现?
你好,如果是扩展广播,是可以使用的,参考:
蓝牙BLE从机Peripheral讲解五(扩展广播/Extern Adv) - SweetTea_lllpc - 博客园 (cnblogs.com)
如果是连接后传输的数据,可以配置MTU为251:
蓝牙BLE从机Peripheral讲解十二(MTU) - SweetTea_lllpc - 博客园 (cnblogs.com)
我是想提高传输速率,现在只有几KB,其他同类蓝牙芯片在开启后可以到100+KB。
可以参考speedtest例程,速度可以达到100KB/s,但是需要注意这个速度的数据量很大,需要近距离尽量不丢包的情况。
一般提高收发的速度,将连接间隔修改为最小,MTU修改为最大。
蓝牙BLE从机Peripheral讲解一(广播间隔和连接间隔) - SweetTea_lllpc - 博客园 (cnblogs.com)
我按照例程修改并对比了两个工程的配置差异,但最多只能到60+KB/s,除了MTU、连接间隙还有什么需要注意的吗?
分配协议栈的缓存加大,单连接多包开启,缓存包数量增大。然后进行测试。
BLE协议可以达到的速度是244*133/s,超过这个数量是开启单连接多包实现的,但是单连接多包无法确保每次发包都生效,所以可以将缓存加大,这样成功概率会更高。