我用“connectle …”连接第三方ble设备,然后用“DiscoverHRS”找到了ble设备上的心率服务,之后用“ConfigureRemoteHRS 1”配置通知服务,现在可以正常收到ble设备上的心率数据,但是过两三分钟后,连接就自动断开了,需要重新执行上述流程,如此反复。
请教各位,问题出在哪里呢?是否应该修改某些参数?谢谢。
CC2540蓝牙4.0BLE开发:
看看是不是timout断开的
my wu:
回复 CC2540蓝牙4.0BLE开发:
不是的,断链时提示的错误码是13,看了说明,应该是ble设备因为资源限制而断开了连接。
但是我用手机连接该ble设备很正常,用的是下载的运动软件,能够一直采集心率。
my wu:
回复 CC2540蓝牙4.0BLE开发:
仔细观察了一下,大概一分钟多点就自动断链了,每次都如此,请问有啥办法解决吗?
Barbara Wu:
可能出现在连接的配置上 建议可以抓包看看连接的参数是否有不同
my wu:
回复 Barbara Wu:
我使用的是TI的MSP-EXP430F5438A开发板,代码是TI网站下载的CC256x_MSP430_Bluetopia_Basic_SPPLEDemo_APP。
连接的心率腕表是迈欧的alpha,支持ble,不是spple。使用iphone5、三星note2等手机可以正常读取心率数据。
但使用SPPLEDemo时,连接建立后,约一分钟多点即断开连接,断开之前,心率上报正常,这个腕表每秒钟上报一次心率。无论是否配置了心率上报,断开连接的时间都一样。
因使用的是原始例子,未修改任何le连接参数。
请各位专家多多指点哦,多谢多谢。
my wu:
回复 my wu:
查看断开连接的Reason,有时是0x08,(好像是认证不足),多数是0x13(对方关闭连接)和0x3E。
其中0x08很少出现;
前述每隔一分多钟就断开连接时,reason通常是0x13;
有时候连接刚刚建立,我紧跟着发送discover命令,连接立即就断开了,此时reason是0x3E,之后这种情况会持续二三十次,就是不断重复“连接建立->discover->连接断开”这个过程,很是奇怪。
my wu:
回复 my wu:
DiscoverHRS和ConfigureRemoteHRS命令是从HRSDemo里面移植过来的。
Barbara Wu:
回复 my wu:
有几个问题
1. SPPLEDemo 没有DiscoverHRS, ConfigureRemoteHRS命令参数, 请问您是如何连接的
2. 心率腕表应该使用的是HRP的Peripheral协议需要和HRP的Central设备连接
3. SPPLEDemo一般是跑在Peripheral设备上,根据你的描述,cc256x是连接腕表,也就是说cc256x需要做central设备
my wu:
回复 Barbara Wu:
DiscoverHRS和ConfigureRemoteHRS命令是从HRSDemo里面移植过来的。
我需要同时与ble设备和经典蓝牙(spp)连接,因此以SPPLEDemo为主,加进了HRSDemo里面的几个函数。
Barbara Wu:
回复 my wu:
请问您如果用HRPDemo和设备连是否会出现断链的情况?
TI中文支持网


