三、新增好特徵屬性後就是該如何使用這兩個特徵以便在主機進行掃瞄的時候與特定服務的從機進行檢索對比。
1、在sps_client_enable_req_handler中,將首要服務新增進sps_data_service_uuid
2、將剛才新增的資料庫spsc_sps_char_16新增進來:
3、在如下函式gattc_disc_char_desc_ind_handler將控制代碼總長度和資料庫新增進來
4、sps_client_enable_cfm_send返回服務新增確認訊息
返回狀態status=att_err_no_error表示服務新增成功。
四、與從機的資料收發
該函式用於接收來自從機的訊息。
至此,服務新增完畢,這個時候我們就可以通過呼叫這兩個介面函式與從機進行資料通訊了。
note:
1、比較重要的函式是gattc_cmp_evt_handler,在該函式中,新增服務以及資料接收都是在該函式裡完成。架構為:
if(state == sps_client_discovering){}
else if (state == sps_client_connected){}
2、新增流程:
->sps_client_enable_req_handler(將首要任務新增進去)
->gattc_disc_svc_ind_handler()
->gattc_cmp_evt_handler(主要的乙個函式,發現服務的流程都在這裡進行,參照note1)
->prf_disc_char_all_send
->gattc_disc_char_ind_handler(通過呼叫prf_search_chars來將主機和從機的特徵值資料庫進行對比)
->prf_check_svc_char_validity_128(驗證服務特徵值有效性)
->prf_disc_char_desc_send
->gattc_disc_char_desc_ind_handler(通過呼叫prf_search_descs來將主機和從機的描述符資料庫進行對比)
->prf_search_descs
->sps_client_enable_cfm_send(返回新增服務的結果是否成功)
3、向從機寫資料時:需要通過以下函式將控制代碼寫入,最後乙個引數是寫入方式
4、接收到來自從機的資料時:需要判斷是哪個控制代碼發過來的。
5、值得注意的是,主從通訊主要還是以uuid作為傳輸通道依據,所以在主從**裡,序號對不上很正常,關鍵看操作的序號對應的uuid是不是能對應上,這是最基本的操作。
使用adb shell 進入手機修改檔案的許可權
1 將android的tools目錄加入到path中,或者直接在adb.exe路徑下啟動cmd視窗 2 adb shell 進入手機後,發現是 不是 號 3 在進入shell後執行 su 就可以進入root許可權了 4 如果不能執行su命令,使用一款root軟體給手機賦予root許可權之後再su。5...
修改主機名後VCS的修改
一 單機改主機名需更改以下檔案 etc hosts etc hostname.hme0 根據主網口更改 etc nodename etc net ticots hosts etc net ticotsord hosts etc net tilts hosts 二 vcs雙機更改主機名步驟 1 停掉v...
基於OHCI的USB主機 前言
很久以前,大概是前年年底吧,因為公司專案的要求,我做了基於ohci的usb主機訪問u盤的程式,用來把系統中產生的一些資料儲存到u盤中。本來做的時候就想把其中的一些經驗體會發表的,可是工作實在是太忙,而且也的確有點懶,就一直拖到了現在。做訪問u盤的usb主機,網上有很多現成的例子,從硬體到軟體。可是絕...