128位uuid,带attm\u svc\u create\u db

3个职位/0个新职位
最后一篇文章
维桑
离线
最后一次见到:5年4个月前
上师 硕士
已加入:2014-06-26 08:49
128位uuid,带attm\u svc\u create\u db

你好,

当我为属性管理器指定数据库描述时,我不知道如何使用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;

那么用这种方法怎么做呢?

你好,维萨

WT\U对话框
离线
最后一次见到:3年1个月前
工作人员
已加入:2013-12-05 14:43
你好,维萨,

你好,维萨,

你是对的。这是用于创建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);

维桑
离线
最后一次见到:5年4个月前
上师 硕士
已加入:2014-06-26 08:49
你好WT,

你好WT,

谢谢你的回答!
编辑:还有一件事,你能详细说明如何计算属性的大小吗?

比尔,维萨