用smartf06 CC2650em-7ID评估版下载了cc2650em_simple_central_rel.hex程序,给cc2650launchpad 下载了cc2650lp_simple_peripheral_rel.hex程序。而后smartf06作为主机可以连接到从机,但是一段时间后就会显示disconnected ,reason 8,也不能读写characteristic。 我调试了程序,发现simple_central 可以发现设备 , 但进入SimpleBLECentral_processGATTDiscEvent函数中,if (discState == BLE_DISC_STATE_MTU)状态里,发现服务时会失败。GATT_DiscPrimaryServiceByUUID()进入这个函数后就会提示disconnected ,reason 8。查找原因是从机主动断开。但是从机与BLE Device Monitor和lightblue APP连接都不会出现这样的现象。 也就是说主机在发现从机服务时会失败,不能进入BLE_DISC_STATE_SVC状态获取uuid的Handle。 我的协议栈是ble_sdk_2_02_02_25,IAR版本7.80.4. 所用均为例程代码。编辑simple_peripheral从机程序正常。请问是什么问题。已经找了4天都没能查出问题了。
Viki Shi:
1、reason 8 是Supervisor Timeout,每次都会出现该错误吗?
2、软硬件全是TI提供吗,是否有自行修改的部分?
user6015352:
回复 Viki Shi:
1.每次连接到从机,都会出现该错误。即使按down键可以反复查询到蓝牙强度,连接一定时间后就会出现reason8
2.软硬件均由TI提供。我下载到板子上的是协议栈hex文件中的rel_hex文件,依然出现这样现象。而后调试程序,发现卡在了发现服务这里,已进入就会超时退出,
3.我想问是否例程那个程序一定可以读写成功?能否发两个程序给我试试?一个cc2650lp_simple_peripheral_rel.hex还有一个cc2650em_simple_central_rel.hex。
Viki Shi:
回复 user6015352:
例程是经过验证的,我这边的例子也是协议栈里的,你已经有了。发现服务失败这个问题,之前遇到的大部分是硬件原因,频偏啊晶振啊不合格,如果全是TI开发版的话,不存在这个问题,暂时没有思路
user6015352:
回复 Viki Shi:
现在问题已经变成了,一连上从机就提示disconnected,reason:62求解决思路
Viki Shi:
回复 user6015352:
#define LL_STATUS_ERROR_CONN_FAILED_TO_BE_ESTABLISHED0x3E // Connection Failed To Be Established
建议加一个天线,32k晶振最好也排查一遍,正负40ppm之内
user6015352:
回复 Viki Shi:
谢谢,我试一下。