CH573的BLE協(xié)議棧應用需求問題
  1. BLE作為從機使用時,如何手動斷開藍牙連接,有沒有相關(guān)的接口可以調(diào)用?

  2. 應用程序的某個任務(wù)需要手動查詢當前藍牙處于連接狀態(tài)還是廣播狀態(tài),怎么操作?

斷開可調(diào)用下面代碼:

//這里的connHandle 是連接建立時候傳進來的connection handle, 代表一路連接
extern bStatus_t GAPRole_TerminateLink( uint16 connHandle );


連接會有連接和斷開會報事件上來,例程里面通常提供了函數(shù):? ? ? ??

連接斷開:Peripheral_LinkTerminated(?pEvent?);
連接建立:Peripheral_LinkEstablished(?pEvent?);

至于是否處于廣播狀態(tài)可以通過以下api獲取:

//獲取當前廣播狀態(tài)//0為非廣播,非0為廣播uint8_t?adv_status;
GAPRole_GetParameter(GAPROLE_ADVERT_ENABLED,?&adv_status?);


一個要注意的地方:

?* 廣播與連接 并不是互斥的, 可以存在連接建立后,仍然開啟廣播的情況(多連接場景).


應用里只需要一對一連接,不需要多連接,該怎么配置,其他任務(wù)需要隨時可以查詢藍牙是否斷開連接


兩個選擇:

1,定義一個變量, 在下面兩個函數(shù)里面 分別復位和置位, 用這個變量作連接斷開標識

連接斷開:Peripheral_LinkTerminated(?pEvent?);

連接建立:Peripheral_LinkEstablished(?pEvent?);


2,直接判斷connection handle值, 例程中,這個值,在斷開后會賦值為0xffff, 連上后會賦值為對應的connection handle值

如在官方sdk中EXAM>BLE>Peripheral 例程中以下變量:

peripheralConnList.connHandle


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

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