微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 关于特征值表的问题

关于特征值表的问题

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

请问一下:

在这个特征值表中:

static gattAttribute_t simpleProfileAttrTbl[SERVAPP_NUM_ATTR_SUPPORTED] =
{
  // Simple Profile Service
  {
    { ATT_BT_UUID_SIZE, primaryServiceUUID }, /* type */ 
    GATT_PERMIT_READ,                         /* permissions */
    0,                                        /* handle */
    (uint8 *)&simpleProfileService   //0xFFF0         /* pValue */
  },

// Characteristic 1 Declaration 
    {
      { ATT_BT_UUID_SIZE, characterUUID },
      GATT_PERMIT_READ,
      0,
      &simpleProfileChar1Props
    },
  // Characteristic Value 1

     {
        { ATT_BT_UUID_SIZE, simpleProfilechar1UUID },//0XFFF1
        GATT_PERMIT_READ | GATT_PERMIT_WRITE,
        0,
        &simpleProfileChar1
      },
  // Characteristic 1 User Description 
     {
        { ATT_BT_UUID_SIZE, charUserDescUUID },//0X2901
        GATT_PERMIT_READ,
        0,
        simpleProfileChar1UserDesp
      },   
           

    // Characteristic 2 Declaration
    {
      { ATT_BT_UUID_SIZE, characterUUID },//0X2803
      GATT_PERMIT_READ,
      0,
      &simpleProfileChar2Props
    },

      // Characteristic Value 2
      {
        { ATT_BT_UUID_SIZE, simpleProfilechar2UUID },
        GATT_PERMIT_READ,
        0,
        &simpleProfileChar2
      },

      // Characteristic 2 User Description
      {
        { ATT_BT_UUID_SIZE, charUserDescUUID },
        GATT_PERMIT_READ,
        0,
        simpleProfileChar2UserDesp
      },          
     
    // Characteristic 3 Declaration
    {
      { ATT_BT_UUID_SIZE, characterUUID },
      GATT_PERMIT_READ,
      0,
      &simpleProfileChar3Props
    },

      // Characteristic Value 3
      {
        { ATT_BT_UUID_SIZE, simpleProfilechar3UUID },
        GATT_PERMIT_WRITE,
        0,
        &simpleProfileChar3
      },

      // Characteristic 3 User Description
      {
        { ATT_BT_UUID_SIZE, charUserDescUUID },
        GATT_PERMIT_READ,
        0,
        simpleProfileChar3UserDesp
      },

    // Characteristic 4 Declaration
    {
      { ATT_BT_UUID_SIZE, characterUUID },
      GATT_PERMIT_READ,
      0,
      &simpleProfileChar4Props
    },

      // Characteristic Value 4
      {
        { ATT_BT_UUID_SIZE, simpleProfilechar4UUID },
        0,
        0,
        &simpleProfileChar4
      },

      // Characteristic 4 configuration
      {
        { ATT_BT_UUID_SIZE, clientCharCfgUUID },
        GATT_PERMIT_READ | GATT_PERMIT_WRITE,
        0,
        (uint8 *)simpleProfileChar4Config
      },
     
      // Characteristic 4 User Description
      {
        { ATT_BT_UUID_SIZE, charUserDescUUID },
        GATT_PERMIT_READ,
        0,
        simpleProfileChar4UserDesp
      },
     
    // Characteristic 5 Declaration
    {
      { ATT_BT_UUID_SIZE, characterUUID },
      GATT_PERMIT_READ,
      0,
      &simpleProfileChar5Props
    },

      // Characteristic Value 5
      {
        { ATT_BT_UUID_SIZE, simpleProfilechar5UUID },
        GATT_PERMIT_AUTHEN_READ,
        0,
        simpleProfileChar5
      },

      // Characteristic 5 User Description
      {
        { ATT_BT_UUID_SIZE, charUserDescUUID },
        GATT_PERMIT_READ,
        0,
        simpleProfileChar5UserDesp
      },
   }

在特征值表中定义的顺序都是   声明、值、(结构)、用户描述

1、请问一下所有蓝牙的协议都都必须是这种顺序吗?

2、这个特征值表有关于定义的说明吗?

3、我把特征值1的顺序改掉了,改成了值、用户描述、声明的这种顺序,也读到了特征值1的句柄和UUID,但是它们的顺序也跟着改变了。那么我在主机中如何

     判断特征值的顺序是错误的呢?


 

句柄是自动分配的,跟顺序有关

但是UUID是独立的,跟顺序无关

1、这个表只是一个结构体数组,所以与顺序没关系

2、句柄值是系统分配的,这个与顺序没有关系

3、关于特征值表的说明,蓝牙标准中有详细的说明,应该是在第三章吧

4、一般主机要遍历完所有的UUID,关于哪个用于通信,这个是主从双方进行约定好的

请参考蓝牙spec底3.3章的特征值定义

谢谢各位的回答,基本已经理解了

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

网站地图

Top