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.
我在用CC2541与pad的apk进行连接时,BLE刚连上就异常断开,用抓包器得的数据见附件,请问用可以通过修改2541的配置来解决吗?如何解决?
谢谢!
jianlong,
从包看,master一直在向slave 请求feature request, 且一直重发请求,因为slave并没有任何回复。 pad是master 吧?
从connection interval 来看,是7.5ms,非常短,极限值,并且一连上第一个包就发feature request请求,直到超时断开。
pad端是android 4.3/4.4的吗?pad是哪款? nexus 7 还是其他?能知道芯片产商吗?
最好能修改一下连接时候的connection interval, 改成长点试试, 20ms以上。
Hi,Yan
我用的是nexus 7,你说的connection interval 设置是怎么设置的?我在CC2541上设置过,但是不起作用,同时用另一个CC2541模拟apk,可以正常通信.
jianlong,
很奇怪。我以前试过nexus 7 android 4.4 , 没遇到过这个问题。
2541上设置是不会起任何作用的,2541 作为外设的话,只能请求主机去改变连接参数,但这需要在连接建立成功之后。
请确保你使用的是最新的1.4 版本协议栈。
另外,你最好能用BlueDroid 的源码,去协议栈里面找到建立连接的函数,修改一下参数就可以。源码应该是开放的,而且修改起来应该不会很难。
总之,很奇怪。
jianlong,
应该不会有影响。
1.4 比 1.3.2 好很多,更加成熟。
另外,你试过和ipad或者iphone连接吗?有没有问题?或者其他android 手机,比如nexus 4,或者 5?
jianlong,
android 提供的GATT层 API 应该没有提供连接参数的修改,所以你得用BlueDroid源码去修改连接参数。
但是就像我之前说的,很是奇怪,我之前用nexus 7没有遇到这个问题。
试一下1.4版的协议栈吧。
Hi,Yan
应该是android系统的问题,android 4.3设置的BLE通信间隔时间是7.5ms,android 4.4的是48ms,android 版本升级后就没有问题了。
非常感谢!