QCA4020之BLE 服務(2)

0.前言

    在上一篇中,你會發現服務發現操作非常的簡單,就只是調用了qapi_BLE_GATT_Start_service_Discovery這個api函數。但是它的重點是它的回調函數:GATT_Service_Discovery_Event_Callback。本文旨在說明這個函數的功能和代碼流程。

 

1.事件

    首先來看,在服務發現操作的過程中,有兩種事件會產生

typedef enum
{
   QAPI_BLE_ET_GATT_SERVICE_DISCOVERY_INDICATION_E,
   /**< GATT client service discovery indication event. */
   QAPI_BLE_ET_GATT_SERVICE_DISCOVERY_COMPLETE_E
   /**< GATT client service discovery complete event. */
} qapi_BLE_GATT_Service_Discovery_Event_Type_t;

    其中一個是GATT客戶端服務發現指示事件:表示沒發現一個service,這個事件就會產生

    下面一個是GATT客戶端服務發現完成事件:表示當搜索完成所有的服務,則會產生一次該事件

 

2.代碼

    從QAPI_BLE_ET_GATT_SERVICE_DISCOVERY_INDICATION_E這個事件來看,每次發現了一個service,就會調用先打印服務的handle和它的UUID。然後調用填充函數,填充服務結構,這裏以AIOS爲例,會調用AIOSPopulateHandles。

標題

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章