微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 关于gattAttribute_t结构的含义不是很懂

关于gattAttribute_t结构的含义不是很懂

时间:10-02 整理:3721RD 点击:

例如Immediate Alert Service的定义:

// Immediate Alert Service Atttribute Table

static gattAttribute_t imAlertAttrTbl[] =

 {  

 // Immediate Alert service  

 {    

 { ATT_BT_UUID_SIZE, primaryServiceUUID }, /* type */    

   GATT_PERMIT_READ,                         /* permissions */    

   0,                                        /* handle */    

   (uint8 *)&imAlertService                  /* pValue */

  },

    // Characteristic Declaration    

 {      

   { ATT_BT_UUID_SIZE, characterUUID },      

   GATT_PERMIT_READ,      

   0,      

   &imAlertLevelCharProps    

 },

      // Alert Level attribute      

 {        

    { ATT_BT_UUID_SIZE, alertLevelUUID },        

      GATT_PERMIT_WRITE,        

      0,        

     &imAlertLevel      

},

};

每一个里面的GATT_PERMIT_WRITE/GATT_PERMIT_READ和imAlertLevelCharProps = GATT_PROP_WRITE_NO_RSP;分别指谁的读写权限?

Hi YAN

     能解释一下吗,谢谢,呵呵

没有人知道吗?  :(

各路大神理解的指教一下啊

额。。。。。。

   上面有说明了啊,首先你要了解一个GATT profile的框架分类,

                                                                   UUID

 1.primary service                                 0x2800

 2.sencondary service                         0x2801

 3.include                                               0x2802

 4.characteristic                                    0x2803

 5.characteristic extended property    0x2900

6.characteristic user description       0x2901

7.client characteristic configuration   0x2902

8.server characteristic configuration  0x2903

9.characteristic format                          0x2904

10. characteristic aggregate format    0x2905

要理解,cilent想找到你定义的东西,就必须要通过primary service中的UUID来识别。

在你的代码中, primary service的属性是只读。characteristic  Declaration中就是我上面的characteristic(4)它的属性是只读,UUID应该是0x2803.

依次类推,有的characteristic不是一定要定义的,是可选的,所以有的service 只有一个characteristic 或者2个characteristic。。。。

说了这些,你还是多看看资料。 蓝牙4.0的那个协议spec~!

                             

谢谢   mingqing dai ,

我的意思是GATT_PERMIT_WRITE 和 GATT_PROP_WRITE 这两个定义有什么区别?

分别设置的是谁的属性

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top