CH573藍(lán)牙定向廣播和重新廣播問題

請(qǐng)見諒,帖子編輯之后,代碼片段總是亂碼,只能使用圖片貼代碼了。

問題1:

a) CH573作為從機(jī),使用藍(lán)牙定向廣播,與電腦配對(duì)后,可以正常的使用定向廣播快速再次連接上,此時(shí)定向廣播MAC類型為ADDRTYPE_PUBLIC。

b)當(dāng)主機(jī)為華為手機(jī)時(shí),手機(jī)的藍(lán)牙MAC地址類型為ADDRTYPE_PRIVATE_RESOLVE? 0x03,對(duì)應(yīng)CH573將定向廣播的地址類型也修改為ADDRTYPE_PRIVATE_RESOLVE,但還是無法再次與手機(jī)進(jìn)行連接;

請(qǐng)問:如何配置,才可以在主機(jī)地址為0x03時(shí),依舊可以讓CH573使用定向廣播快速的和手機(jī)進(jìn)行連接;

image.png

問題2:

a)CH573藍(lán)牙連接之后,如何讓CH573強(qiáng)制斷開現(xiàn)有連接,然后進(jìn)行廣播。我使用以下代碼,出現(xiàn)兩種情況:

情況1:在CH573沒有連接的情況下,調(diào)用函數(shù)GAPRole_TerminateLink(hidEmuConnHandle),再讓CH573從定向廣播切換到非定向廣播時(shí),可以正常的被連接;

情況2:在CH573已經(jīng)和主機(jī)連接時(shí),調(diào)用函數(shù)GAPRole_TerminateLink(hidEmuConnHandle)斷開現(xiàn)有連接,再讓CH573從定向廣播到非定向廣播時(shí),抓包發(fā)現(xiàn)CH573的廣播事件類型是“不可連接的廣播”Non-Connectable,導(dǎo)致無法連接。

切換廣播的代碼如下(對(duì)應(yīng)定向廣播代碼如問題1里面所示):


獲取hidEmuConnHandle

image.png


切換為非定向廣播

image.png


1,定向廣播, 一般手機(jī)綁定后, 拿到的是 對(duì)方設(shè)備的public address , 你GAPROLE_ADV_DIRECT_TYPE設(shè)置為ADDRTYPE_PUBLIC

2, 斷開wch的藍(lán)牙api 通常都是異步的,這意味著, 調(diào)用后,要等對(duì)應(yīng)的事件產(chǎn)生, 然后在對(duì)應(yīng)的事件里在執(zhí)行新的api,

比如你這里調(diào)用了斷開連接, 要等斷開連接的事件產(chǎn)生后,再調(diào)用廣播API.


@TECH46

感謝您的解答,關(guān)于問題1我可能描述的有遺漏,補(bǔ)充如下:


1、實(shí)際就是發(fā)現(xiàn)使用(GAPROLE_ADV_DIRECT_TYPE設(shè)置為ADDRTYPE_PUBLIC),不能和華為手機(jī)進(jìn)行定向廣播快速連接。

2、使用下面代碼查看的主機(jī)是地址類型,發(fā)現(xiàn)為ADDRTYPE_PRIVATE_RESOLVE? 0x03。查看主機(jī)地址類型代碼(下圖底色為藍(lán)色部分):

image.png

3、將GAPROLE_ADV_DIRECT_TYPE依次修改為ADDRTYPE_PUBLIC、ADDRTYPE_STATIC、ADDRTYPE_PRIVATE_NONRESOLVE、ADDRTYPE_PRIVATE_RESOLVE,每種都不行。


4、到此就不知道原因了,嘗試過extern uint8 GAPBondMgr_ResolveAddr( uint8 addrType, uint8 *pDevAddr, uint8 *pResolvedAddr );函數(shù),不知道是使用方法不對(duì),還是其它原因,解析出來地址全是0。(并且我理解怎么可能只有一個(gè)地址類型和可解析的地址,就可以解析出主機(jī)的真實(shí)地址呢?那不是失去了這個(gè)隨機(jī)地址的意義)


請(qǐng)幫忙看一下,給個(gè)方向。因?yàn)椴恢乐鳈C(jī)的public address,白名單也是無法使用。


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频