请见谅,帖子编辑之后,代码片段总是乱码,只能使用图片贴代码了。
问题1:
a) CH573作为从机,使用蓝牙定向广播,与电脑配对后,可以正常的使用定向广播快速再次连接上,此时定向广播MAC类型为ADDRTYPE_PUBLIC。
b)当主机为华为手机时,手机的蓝牙MAC地址类型为ADDRTYPE_PRIVATE_RESOLVE? 0x03,对应CH573将定向广播的地址类型也修改为ADDRTYPE_PRIVATE_RESOLVE,但还是无法再次与手机进行连接;
请问:如何配置,才可以在主机地址为0x03时,依旧可以让CH573使用定向广播快速的和手机进行连接;
问题2:
a)CH573蓝牙连接之后,如何让CH573强制断开现有连接,然后进行广播。我使用以下代码,出现两种情况:
情况1:在CH573没有连接的情况下,调用函数GAPRole_TerminateLink(hidEmuConnHandle),再让CH573从定向广播切换到非定向广播时,可以正常的被连接;
情况2:在CH573已经和主机连接时,调用函数GAPRole_TerminateLink(hidEmuConnHandle)断开现有连接,再让CH573从定向广播到非定向广播时,抓包发现CH573的广播事件类型是“不可连接的广播”Non-Connectable,导致无法连接。
切换广播的代码如下(对应定向广播代码如问题1里面所示):
获取hidEmuConnHandle
切换为非定向广播