GAPCentralRole_EstablishLink 函数连接返回值问题
在建立连接的时候,GAPCentralRole_EstablishLink函数总是返回bleAlreadyInRequestedMode 0x11;是什么情况!求解
geen,
你有没有重复发送建立连接请求呢?
这是重复发送以后收到的事件。
有的,我是主设备轮流去连接多个从设备,如从设备编号1、2、3,主设备首先连接1, 5秒后断开1去连接2,接着断开2连接3;然后又返回去连接1;现在问题是:如果我把其中一个从设备断电,如3;这时候轮询就停止了,直到我把设备3重新上电,轮询才会又继续下去;好像连接事件就等待在那里一样;我想要的是如果设备3断电了,主设备就直接跳过设备3,再去连接1,2,如此往复。
设置了一个周期性连接事件;如果因某个从设备断电,本次连接没有成功,有什么方法可以取消本次已发送的连接请求;从而不影响下一次的建立连接请求
是不是会一直陷在连接的状态?退不出来?只能靠你自己取消连接了,根据自己定义的timeout来,你试试可不可以。
没有陷在连接状态,跟上一个设备已经断开连接了,再去连接连接下一个设备,如果下一个设备正常,则轮询继续,若下一设备断电,则轮询停止,断电那个设备之后的从设备也都不能连接,直到那个设备从新上电;轮询又继续下去
怎么样取消连接,没有找到取消连接的函数,只有断开连接的函数,要如何定义自己的timeout ?
geen,
当然可以cancel 连接请求。用GAPCentralRole_TerminateLink(). ,直接cancel 请求。
GAPCentralRole_TerminateLink()函数是在已经建立连接的情况下断开连接吧,能终止已经发送建立连接请求,但是还没有建立连接的的链接吗?
我试过了,如果用GAPCentralRole_TerminateLink()去取消还没连接成功的连接是不行的,返回值为bleIncorrectMode: No Link to terminate
问题解决了吗?怎么解决的?
之前的问题是解决了,不会再停留在那边等待。用了LL_CreateConnCancel(); 函数来取消已经发送的连接请求命令,现在遇到的问题是当轮询偶数个设备的时候有一个设备会连接不上自动跳过,轮询奇数个设备的时候没问题
是连接一段时间后没有回应,就断开吗?你的timeout设置为多少的?
GAPCentralRole_EstablishLink函数返回不成功就取消已发送的连接请求
你好:
我开始做蓝牙,用central去连接peripheral,调用establish——link,没有连接,也不知道返回值如何获得!能说说嘛