藍牙協(xié)議棧的初始化命令
作者:佚名
文章中,我們主要講解了藍牙協(xié)議棧的初始化命令。那么對于這部分內(nèi)容,還請大家詳細看一下具體的代碼吧。
前面我們講解了一些藍牙協(xié)議棧的相關(guān)內(nèi)容,相信大家已經(jīng)有所了解了。我們知道藍牙協(xié)議棧在嵌入式方面有著非常廣泛的應用。那么今天我們則主要說明一下這當中,藍牙協(xié)議棧的初始化狀態(tài)的一些命令。
在啟動時,藍牙協(xié)議棧的完全裝載和初始化需要一定的時間??梢允褂肂TH_NAMEDEVENT_STACK_INITED來檢查協(xié)議棧的初始化情況,它定義在%_WINCEROOT%\Public\Common\Sdk\Inc\Bt_api.h中。要打開這個命名事件需要使用OpenEvent函數(shù)。
- // 確定協(xié)議棧是否已初始化
- BOOL fStackUp = FALSE;
- for (int i = 0 ; i < 100 ; ++i)
- {
- HANDLE hBthStackInited = OpenEvent (EVENT_ALL_ACCESS, FALSE, BTH_NAMEDEVENT_STACK_INITED);
- if (hBthStackInited)
- {
- DWORD dwRes = WaitForSingleObject (hBthStackInited, INFINITE);
- CloseHandle (hBthStackInited);
- if (WAIT_OBJECT_0 == dwRes)
- {
- fStackUp = TRUE;
- break;
- }
- }
- Sleep (1000);
- }
- if (! fStackUp)
- {
- // 錯誤處理
- }
責任編輯:佟健
來源:
hi.baidu.com