我用iOS自带的框架写了个app,与cc2541蓝牙模块连接,每次从iPad传送数据到cc2541到cc2541接收到数据并回应,然后iPad接收,中间大概是60ms。。。想问问有没有办法提高一下速度? 这种速度的话,6秒钟只能传2000字节,不能满足需求啊
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.
我用iOS自带的框架写了个app,与cc2541蓝牙模块连接,每次从iPad传送数据到cc2541到cc2541接收到数据并回应,然后iPad接收,中间大概是60ms。。。想问问有没有办法提高一下速度? 这种速度的话,6秒钟只能传2000字节,不能满足需求啊
你测试的是上行速率,这个还OK
但安卓下行速率很慢,你那边怎么样
不是协议本身的问题,是IOS的问题,如果两端都是你开发的,问题就很好解决。IOS那端的限制。
使用writeWithoutResponse的写入,2541端开启overlappedprocessing,连接间隔设置到最小的30ms,上传速率能达到2.667k/s的极限值(一个连接间隔内4次数据包交互均发送20k字节净荷数据)。
另外,不更新连接参数应该也行,连接后直接用2541的函数获取到的默认连接间隔是0x18,也就是24*1.25=30ms(印象中我试过5s和6p,iOS9和iOS10都是这样)。
想要更快的传输速度,外设端换什么蓝牙芯片都没用,限制都在iPhone端。iPhone7+支持250字节MTU数据扩展能力的完整4.2协议,iPhone8+支持5.0协议。
在更低型号iPhone手机上最高只能接受2.667k/s的净荷MTU,无解。