转载注明出处,尊重原创
基于蓝牙协议栈1.3.2
第一往属性表里增加特征值
主要有如下几个步骤:
- 1 在simpleGATTprofile.h文件增加特征值的宏定义
- 2在simpleGATTprofile.c文件增加属性权限的定义,以及UUID的封装,并将特征值加到属性表simpleProfileAttrTbl里
- 3对simpleGATTprofile.c文件四个函数的修改
- 4 在simpleBLEPeripheral.c文件初始化函数 void simpleBLEPeripheral_Init()增加对特征值初始化代码
下面是详细解析:
1 在simpleGATTprofile.h文件增加特征值的宏定义
#define SIMPLEPROFILE_CHAR7 7
#define SIMPLEPROFILE_CHAR8 8
特征值uuid定义
#define SIMPLEPROFILE_CHAR7_UUID 0XFFF8
#define SIMPLEPROFILE_CHAR8_UUID 0XFFF9
特征值长度定义
#define SIMPLEPROFILE_CHAR7_LEN 15
#define SIMPLEPROFILE_CHAR8_LEN 15
2在simpleGATTprofile.c文件增加属性权限的
定义,以及UUID的封装,并将特征值加到属性表
simpleProfileAttrTbl里
首先对UUID进行封装
//Character 7
CONST uint8 simpleProfilechar7UUID[ATT_BT_UUID_SIZE] =
{
LO_UINT16(SIMPLEPROFILE_CHAR7_UUID), HI_UINT16(SIMPLEPROFILE_CHAR7_UUID)
};
//Character 8
CONST uint8 simpleProfilechar8UUID[ATT_BT_UUID_SIZE] =
{
LO_UINT16(SIMPLEPROFILE_CHAR8_UUID), HI_UINT16(SIMPLEPROFILE_CHAR8_UUID)
};
然后设置属性权限
//设置CHAR7 可读可写
static uint8 simpleProfileChar7Props = GATT_PROP_READ | GATT_PROP_WRITE;
static uint8 simpleProfileChar7[SIMPLEP