你好:
我在做主从一体的的时候,遇到了一些问题。
1. 芯片:CC2640R2 SDK:3_10_00_15
2. 例程:multi_role
3. 部分手机使用时,连接正常, 主从一体模式下,主机端和从机端的连接都正常,从使用上看,不互相影响,
4.部分手机(当前发现一部华为的手机)使用时,连接就不正常了。主从一体模式下,
如果从机先被手机APP连接,再通过串口发出指令扫描时, 扫描结果数量=0,当断开从机的连接后,马上就可以扫描出正常结果。
如果下发指令,先让主机端去连接上另一个从机,这时,手机APP是可以正常连接从机端的。
即,对于部分手机来说,连接上从机端后, 主机端就无法去主动连接任何从机了。扫描间隔数量为零。
5. 我查了一些资料,说是跟手机的蓝牙连接参数有关,但是手机端这边又不能修改,这如何解决呢?
Alvin Chen:
你好,我在尝试复现你的问题,我可以正常使用华为某型号手机:
先用multi 连接一个peripheral的板子,然后打开advertise 用手机APP 连接Multi role 功能正常。反之限于手机APP连接,然后再去扫描并连接peripheral的板子也是正常的。
你是否有改动什么呢?
此外纠正你一个错误的认识 ”我查了一些资料,说是跟手机的蓝牙连接参数有关,但是手机端这边又不能修改,这如何解决呢?“
在我截图上你可以看到我在更新手机端的连接参数以保证连接的稳定性。
user5983202:
回复 Alvin Chen:
你好,我今天下午测试了,确实是跟手机的蓝牙连接参数有关
1. 不正常的手机的连接参数是6(连接间隔), 0 ,500,其他手机的连接间隔都是大于30的。
2. 连接时,在蓝牙模块更新连接参数,是可以解决这个问题。但是又产生了其他问题。
3. 当手机已经连接其他从机时,这时手机去连接主从一体的从机, 这个时候,连接参数更新失败,无论重复多少次更新都不行。
4.当主从一体的主机已经连接其他从机时,这时手机去连接主从一体的从机, 这个时候,连接参数更新失败,无论重复多少次更新都不行。
Alvin Chen:
回复 user5983202:
你用的什么APP?如果自己开发的,关闭你的手机端的连接参数更新,让multi role设备去更新你手机的连接参数。
user5983202:
回复 Alvin Chen:
本来APP无法进行连接参数更新啊,安卓系统没有提供API接口。都是手机商家自定义的。
只有主从连接后,从机这边发起更新请求。