連接多個(gè)從機(jī)時(shí) 創(chuàng)建連接超時(shí)問題

連接多從機(jī)例程里,創(chuàng)建連接超時(shí)用 0xFFFF應(yīng)該會斷開所有連接吧,這不會導(dǎo)致斷開已有連接嗎?可以只斷開創(chuàng)建失敗的連接嗎?

????if(events?&?ESTABLISH_LINK_TIMEOUT_EVT)
????{
????????GAPRole_TerminateLink(INVALID_CONNHANDLE);
????????return?(events?^?ESTABLISH_LINK_TIMEOUT_EVT);
????}


建立連接后是會分配不同的連接給不同的handle,在斷開連接的時(shí)候同樣需要調(diào)用該handle進(jìn)行斷開。因此是在填寫為對應(yīng)handle則對應(yīng)的連接斷開,GAPRole_TerminateLink,直接傳入0xFF是沒有意義的。


這個(gè)不是連接建立成功后執(zhí)行斷開連接的任務(wù),而是創(chuàng)建連接超時(shí)后執(zhí)行的。


GAPRole_CentralEstablishLink(DEFAULT_LINK_HIGH_DUTY_CYCLE,
?????????????????????????????DEFAULT_LINK_WHITE_LIST,
?????????????????????????????centralDevList[i].addrType,
?????????????????????????????centralDevList[i].addr);
tmos_start_task(centralTaskId,?ESTABLISH_LINK_TIMEOUT_EVT,?ESTABLISH_LINK_TIMEOUT);
case?GAP_LINK_ESTABLISHED_EVENT:
{
????tmos_stop_task(centralTaskId,?ESTABLISH_LINK_TIMEOUT_EVT);
if(events?&?ESTABLISH_LINK_TIMEOUT_EVT)
{
????GAPRole_TerminateLink(INVALID_CONNHANDLE);
????return?(events?^?ESTABLISH_LINK_TIMEOUT_EVT);
}

而且0xFFFF也是在頭文件有定義的,所以是廢棄了?

/** @defgroup GAP_CONN_HANDLE_DEFINES GAP Special Connection Handles
* Used by GAP_TerminateLinkReq()
* @{
*/
#define GAP_CONNHANDLE_INIT ? ? ? ? ? ? ? ? ? ? 0xFFFE ?//!< terminates a link create
#define GAP_CONNHANDLE_ALL ? ? ? ? ? ? ? ? ? ? ?0xFFFF ?//!< terminates all links for the matching task ID.
/** @} End GAP_CONN_HANDLE_DEFINES */


所以現(xiàn)在問題的關(guān)鍵是,如何在沒有獲取到handle的時(shí)候,斷開連接。


最后,這個(gè)是例程中的代碼,如果是超時(shí)斷開有意義的,希望能提供一個(gè)對多從機(jī)的解決方案。

如果沒有意義,那我就把這部分代碼刪除了


  1. 藍(lán)牙建立連接是一個(gè)過程。在建立連接的過程中(此時(shí)還沒有完全建立連接),也就是打印Connecting...的地方。這里還沒有分配連接的handle。如果連接超時(shí)沒有成功建立連接,則會由主機(jī)主動發(fā)起斷開,也就是調(diào)用GAPRole_TerminateLink(INVALID_CONNHANDLE)。

  2. 如果藍(lán)牙已經(jīng)建立連接,也就是打印Connected...的地方,則不同的連接會分配不同的handle。在徹底建立連接后,需要斷開則需要傳遞在建立連接地方的handle,如果傳輸INVALID是無法斷開連接的。

  3. 針對你的問題,INVALID_CONNHANDLE會斷開當(dāng)前連接過程中的連接,理論上不會斷開已經(jīng)建立連接(因?yàn)橐延薪⑦B接會重新分配handle)。

  4. 上面你的說法,在建立連接過程中使用INVALID_CONNHANDLE進(jìn)行斷開是沒問題的。如依此思路使用存在問題,可以發(fā)送郵件至郵箱lpc@wch.cn,我們這里進(jìn)行查看。


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

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