CH579 斷開后有廣播無法連接

調(diào)試許久無法定位問題點,無奈只能求助各位大佬,還望指點

現(xiàn)象是手動斷開后有時有一定概率設(shè)備就無法被連接了,單重啟中心設(shè)備后仍無法連接,單重啟設(shè)備后可以正常連接

再說下結(jié)構(gòu),就是我的CH579是作為從設(shè)備,中心設(shè)備也是一片579實現(xiàn)的,通訊邏輯是這樣的:

  1. 中心設(shè)備調(diào)用 GATT_WriteCharValue 向從設(shè)備寫一定量的數(shù)據(jù) (連接后配置MTU為236 ,實際最大通訊包長為208字節(jié))

  2. 從設(shè)備收到后執(zhí)行一定操作(用時比較短,十幾毫秒以內(nèi))后,調(diào)用 GATT_Notification 以通知形式向主設(shè)備發(fā)送響應(yīng)數(shù)據(jù)

以上是通訊過程,實際測試時多數(shù)時候能正常工作,但有時斷開連接(我測試的方法是直接斷掉中心設(shè)備電源),這是中心設(shè)備就再也無法連接到從設(shè)備了,此時仍能收到從設(shè)備廣播數(shù)據(jù),但不完整,調(diào)用 GAPRole_CentralEstablishLink 方法返回成功,但是無法收到GAP_LINK_ESTABLISHED_EVENT事件,用手機端軟件同樣可以掃描到從設(shè)備,廣播數(shù)據(jù)不完整,無法連接,

下面放兩種狀態(tài)的廣播數(shù)據(jù)圖

1644931919834475.jpg

1644931919250285.jpg

基本就是這樣的現(xiàn)象,無法連接后從設(shè)備其他程序運行正常 請教下這種問題有可能是哪里的問題或者怎么去查找原因呢?

補充一下,觀察發(fā)現(xiàn),如果每次斷開連接后進入的GAPROLE_ADVERTISING事件中,

微信截圖_20220216011118.png

多數(shù)情況是進入2這個分支,之后就可以再次連接上。但是偶爾進入1這個分支后,就變成之前敘述的無法連接了


再或者請教下工程師 有沒有不重啟設(shè)備重置BLE協(xié)議棧的標(biāo)準(zhǔn)流程,如果實在解決不了我打算檢測到斷開連接后就重置協(xié)議棧,這樣解決問題應(yīng)該也行


首先我看你的部分代碼可以看出你有比較大的改動,與我們官方例程不符,你斷開連接后,用ble調(diào)試助手獲取廣播參數(shù),掃描應(yīng)答包是丟失了的,這可能是你動態(tài)改變過廣播參數(shù)導(dǎo)致的,想進一步解決的話可以把代碼工程發(fā)我郵箱hy@wch.cn


已發(fā)送郵箱,感謝


你好客服,請問我這個代碼的大概解決方向改如何考慮?或者說重啟協(xié)議棧的方法流程可以發(fā)我參考一下嗎?


根據(jù)你二樓的描述,你斷開連接后,分支1是肯定會進的啊,分支1會將連接信息恢復(fù)默認(rèn),使能廣播,打印斷開連接原因。

分支2應(yīng)該只有從就緒態(tài)進入廣播態(tài)才會進入分支2,并且你的分支2也是沒有使能廣播,你在分支2加上使能廣播,在分支1使能廣播的地方加上打印,確保廣播使能。



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

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