你好,
当我为属性管理器指定数据库描述时,我不知道如何使用128位uuid,稍后我将其传递给函数attm\u svc\u create\u db()。
例如,加速度曲线如下:
静态常量结构attm\u desc accel\u att\u db[accel\u IDX\u NB]=
{
[ACCEL\u IDX\u PRIM\u SVC]=F/*加速计服务*/
{ATT\ DECL\ PRIMARY\服务,PERM(RD,ENABLE),
sizeof(加速度计),sizeof(加速度计),
(uint8\u t*)和accel\u svc},
[ACCEL\u IDX\u ENABLE\u CHAR]=/*加速计启用特性*/
{ATT\u DECL\u CHARACTERISTIC,PERM(RD,ENABLE),
sizeof(加速启用字符),sizeof(加速启用字符),
(uint8\u t*)和accel\u enable\u char},
[ACCEL\u IDX\u ENABLE\u VAL]=/*加速计启用值*/
{ACCEL_ENABLE_UUID,(PERM(RD,ENABLE)| PERM(WR,ENABLE)),
sizeof(uint8\u t),0,(uint8\u t*)NULL},
...
};
但在类型“attm\u desc”中,只有16位字段为UUID保留:uint16\u t UUID;
那么用这种方法怎么做呢?
你好,维萨
你好,维萨,
你是对的。这是用于创建16位UUID的。
对于128位UUID创建,可以尝试使用以下代码:
//////字符1
//添加char1属性
status=attmdb\u add\u属性(示例128_环境样品128\U shdl,ATT\u UUID\u 128\u LEN+3,//数据大小=19(ATT\u UUID\u 128\u LEN+3)
ATT_UUID_16_LEN,(uint8_t*)和ATT_decl_char,PERM(RD,ENABLE),
&(char_hdl));
//添加char1 val属性
status=attmdb\u add\u属性(示例128_环境样品128\U shdl,128,//数据大小=128
附件128长度(uint8 t*)和样本128长度1_增值税,PERM(RD,ENABLE)| PERM(WR,ENABLE)| PERM(NTF,ENABLE),
&(高密度脂蛋白);
memcpy(样本1_字符属性\u hdl,&val\ hdl,sizeof(uint16\ t));
status=attmdb\u att\u set\u value(char\u hdl,sizeof(sample128\u 1\u char),(uint8\u t*)&sample128\u 1\u char);
你好WT,
谢谢你的回答!
编辑:还有一件事,你能详细说明如何计算属性的大小吗?
比尔,维萨