CSR867x — 如何添加一個GATT Server

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

XX  作       者:ZHS(文化人)

XX  聯繫方式:文章末尾Chat快問(或進羣:471144274

XX  版權聲明:原創文章,歡迎評論和轉載~轉載時能告訴我一聲就最好了

XX  要說的話:作者水平有限,難免有不足之處,懇請指正!

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

參考鏈接:https://blog.csdn.net/wzz4420381/article/details/78359481

1、tools\include\profiles\BlueLab-7.0.3-Release路徑下,編寫.dbi和.h

2、

.h文件

#define UUID_EXAMPLE_SERVER FF00

#define UUID_EXAMPLE_SERVER_TO_CLIENT FF01

.dbi文件

#ifndef __GATT_EXAMPLE_SERVER_DB_DBI__

#define __GATT_EXAMPLE_SERVER_DB_DBI__

 

#include "gatt_example_server_uuids.h"

 

/*Primary service declaration of example service*/

primary_service{

           uuid:UUID_EXAMPLE_SERVER,

           name:"EXAMPLE_SERVER",

           /*example level characteristic*/

           characteristic{

                      uuid :UUID_EXAMPLE_SERVER_TO_CLIENT,

                      name :"EXAMPLE_SERVER_TO_CLIENT",

                      properties :[read, write, notify],

                      flags :[FLAG_IRQ],

                      value :0x3,

                      client_config

                      {

                                 name : "EXAMPLE_SERVER_TO_CLIENT_CHAR_CFG",

                                 flags : [ FLAG_IRQ ]

                      }

           }

},

#endif /*__GATT_EXAMPLE_SERVER_DB_DBI__*/

3、在sink_gatt_db.db中添加 #include "gatt_example_server_db.dbi";

4、編譯即可,會生成sink_gatt_db.c和sink_gatt_db.h。

5、連接時,會訪問CCC等界面顯示信息,協議棧上報事件GATT_MANAGER_SERVER_ACCESS_IND會進入sinkGattManagerMsgHandler,原生代碼通用GATT這裏是不處理的,如下圖,要修改爲:gatt_status_success

6、GATT發送數據的接口爲:

 

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