TI中文支持网
TI专业的中文技术问题搜集分享网站

cc2640r2f在调用连接函数后,连接从机没有成功后,底层一直在尝试连接,怎么能停止

1。cc2640r2f在调用 下面函数后,连接从机,但未连接成功。底层一直在尝试连接,能否让不要在连?因为我的场景是两个主机同时扫描到一个从机,其中一个主机连接成功了,另一个听到mac但没成功。

// Connect to current device in scan result
status = GAPRole_EstablishLink(DEFAULT_LINK_HIGH_DUTY_CYCLE,
DEFAULT_LINK_WHITE_LIST,
label_parameter.addrType, label_parameter.label_mac);

2。我在调用这个API后也能得到善 GAP_TerminateLinkReq(selfEntity,connHandle,HCI_DISCONNECT_AUTH_FAILURE);//

3。HCI_DISCONNECT_REMOTE_USER_TERM 和 HCI_DISCONNECT_AUTH_FAILURE参数传进上面函数效果相当,

4。HCI_DISCONNECT_UNACCEPTABLE_CONN_INTERVAL这个没有定义???不知道是不是用不着呢。

5。当主机扫描到从机mac时,去连接却没连接成功后,怎么能让主机不要在尝试连接,能否把连接的动作直接关闭啊??????

Viki Shi:

可以设置超时时间或者用GAPRole_TerminateConnection取消操作,具体请看这边的类似问题: e2echina.ti.com/…/547475

huijun li:

回复 Viki Shi:

多谢解答,GAPRole_EstablishLink这个函数是不是没有超时,只要调用就会不停止的去连接。
2。GAPRole_TerminateConnection我调用了,也没起作用,主机没有建立连接,也可以调用这个函数嘛?我是在主任务中的定时事件中调用的。如下:
multi_role_taskFxn中调用的

else if (events & MR_START_CONNECT_EVT)//当前标签传图超时处理连接事件{//mod lhj 191010 //mr_doDisconnect();//断开连接
//#ifdef BROLINK
//ap_ack[4] = 0x01; ap_ack[5] = 0xFB;ap_ack[6] = connectFlag;
//send_package_toap(UART_TEST_CMD, 4, ACK_SUCCESS);
//#endifif(loginTimeOutFlag)//add lhj 190928 添加入网超时处理,因多bt收到同一标签入网广播倒至bt状态错误{//GAP_TerminateLinkReq(selfEntity,connHandle,HCI_DISCONNECT_AUTH_FAILURE);//add lhj 191011GAPRole_TerminateConnection(connHandle);GAPRole_CancelDiscovery();//停止监听 191011 不加这个扫描到mac连接不上//memset(label_parameter.label_mac,0,6);//mod lhj 191009 因多bt刷标签会倒至交差错连loginTimeOutFlag = false;//add lhj190928//AP_ble_workstate = AP_BLE_LOGIN_START ;mr_doScan();//开始监听mod lhj 191011}

Viki Shi:

回复 huijun li:

1、是的
2、可以

赞(0)
未经允许不得转载:TI中文支持网 » cc2640r2f在调用连接函数后,连接从机没有成功后,底层一直在尝试连接,怎么能停止
分享到: 更多 (0)