BLE不绑定【至急】
-
@zhaoxiucheng 在 BLE不绑定【至急】 中说:
GAP_SEC_EVT_BOND_SUCCESS
GAP_SEC_EVT_BOND_SUCCESS 就是表示配对成功的意思, 是在协议栈收到GAPC_PAIRING_SUCCEED, 通知应用层配对成功
case (GAPC_PAIRING_SUCCEED):
{
gap_event_t evt;
evt.type = GAP_SEC_EVT_BOND_SUCCESS;
evt.param.bond_success_conidx = KE_IDX_GET(src_id);
if(app_env.gap_evt_func)
app_env.gap_evt_func( &evt );
...
-
我这边目前出现bond success之后流程就走不下去,但是如果没有bond success就可以走,概率性会出现没有bond success返回的情况
这种情况下一般是什么原因呢
我看文档:.bond_auth = false,这个只是代码是否发送Key,不涉及是否进行绑定操作呢
@刘流鎏
-
-
@刘流鎏 目前我们测试的状况:
没有收到GAP_SEC_EVT_BOND_SUCCESS:
可以接收到GATT write的消息接收到GAP_SEC_EVT_BOND_SUCCESS:
手机侧发送GATT write消息就会收不到
-
@zhaoxiucheng
拿nrf connect App 测一下. 一般情况配对不影响gatt write.
-
接收到Bond成功,没有反映:
freqchipfreqchipfreqchipfreqchipBLE Peripheral
Local BDADDR: 0x415D393734D5
GAP_EVT_NO: 0x00
All service added
Start advertising...GATT_EVT_NO: 0x07
GATT_EVT: GATTC_MSG_LINK_CREATE
link_createdaddr_type:1
GAP_EVT_NO: 0x01
slave[0],connect. link_num:1
GAP_EVT_NO: 0x09
adv_end,status:0x00
b_r
GAP_EVT_NO: 0x17
GAP_SEC_EVT_BOND_START
[SEC]:peer,auth_req:d
GAP_EVT_NO: 0x19
GAP_SEC_EVT_BOND_SUCCESS未接收到Bond Success:
freqchipfreqchipfreqchipfreqchipBLE Peripheral
Local BDADDR: 0x415D393734D5
GAP_EVT_NO: 0x00
All service added
Start advertising...GATT_EVT_NO: 0x07
GATT_EVT: GATTC_MSG_LINK_CREATE
link_createdaddr_type:1
GAP_EVT_NO: 0x01
slave[0],connect. link_num:1
GAP_EVT_NO: 0x09
adv_end,status:0x00
GAP_EVT_NO: 0x06
Link[0]param update,interval:9,latency:0,timeout:500
GAP_EVT_NO: 0x06
Link[0]param update,interval:6,latency:0,timeout:500GATT_EVT_NO: 0x01
GATT_EVT: GATTC_MSG_WRITE_REQ
GATT_IDX_READ_CFG:0x02,0x00,GAP_EVT_NO: 0x06
Link[0]param update,interval:9,latency:0,timeout:500
GAP_EVT_NO: 0x10
mtu update,conidx=0,mtu=247GATT_EVT_NO: 0x01
GATT_EVT: GATTC_MSG_WRITE_REQ
write_recv:
0x00,0xD8,0x01,0x00,0x00,0x00,0x00,0x11,0x09,0x6E,0x65,0x74,0x43,0x66,0x67,0x56,0x65,0x72,0x00,0x00,
GATT_EVT: gatt_write_reqGATT_EVT_NO: 0x06
GATT_EVT_NO: 0x08
GATT_EVT: GATTC_MSG_LINK_LOST
link_lostGAP_EVT_NO: 0x03
Link[0] disconnect,reason:0x13
Start advertising...
-
@刘流鎏
学习一下这个资料docs\Application Notes\Fr801xH 如何构建多从机工程.pdf, 芯片不熟悉引起的若干问题
-
@刘流鎏
目前通过nRF connect测试结果如下:- 先进行Bond,然后在Bond页面点击连接无法连接成功
- 进入nRF connect直接点击连接,可以正常连接并且收发数据
- 进入nRF connect点击连接(without bond),进行连接,连接后点击bond进行绑定,此时进行收发数据,设备端没有任何返回,无反应状态,显示【connect/bonded(左上角)】的位置一直在转圈
关于3的log为:
addr_type:1
GAP_EVT_NO: 0x01
slave[0],connect. link_num:1
GAP_EVT_NO: 0x09
adv_end,status:0x00
GAP_EVT_NO: 0x06
Link[0]param update,interval:9,latency:0,timeout:500
GAP_EVT_NO: 0x06
Link[0]param update,interval:6,latency:0,timeout:2000
GAP_EVT_NO: 0x06
Link[0]param update,interval:9,latency:0,timeout:500
b_r
GAP_EVT_NO: 0x17
GAP_SEC_EVT_BOND_START
[SEC]:peer,auth_req:d
GAP_EVT_NO: 0x06
Link[0]param update,interval:6,latency:0,timeout:2000
GAP_EVT_NO: 0x19
GAP_SEC_EVT_BOND_SUCCESS
-
要bond 完成再收发数据
-
GAP_SEC_EVT_BOND_START
[SEC]:peer,auth_req:d
GAP_EVT_NO: 0x06
Link[0]param update,interval:6,latency:0,timeout:2000
GAP_EVT_NO: 0x19
GAP_SEC_EVT_BOND_SUCCESS
这个log走完,并且nRF connect上面显示了Bonded之后我才发送的数据,发送完数据就会出现
【此时进行收发数据,设备端没有任何返回,无反应状态,显示【connect/bonded(左上角)】的位置一直在转圈】
发送数据之前,左上角没有转圈,发送之后才开始转圈的
-
此回复已被删除!