你好,
我想创建一个16位UUID的服务。在此服务中,有几个特性有一个128位的UUID,一个有一个16位的UUID。什么是创建那种架构的方法?
谢谢!_matthieu.
您可以使用Sample128代码。您必须更改的只是使用16位值的服务声明属性而不是128位值。
//添加主要服务属性//////////////////////////////////////////////////////////////////////////////////////////////////////////////// //status = attmdb_add_attribute(sample128_env.sample128_shdl,//属性句柄ATT_UUID_128_LEN,//数据大小= 16(ATT_UUID_128_LEN)ATT_UUID_16_LEN,//声明类型ID的大小(UINT8_T *)&ATT_DECL_SVC,// 0x2800用于主要服务声明perm(rd,启用),//权限&(sample128_env.sample128_shdl)//属性句柄);
//添加主服务属性的值(自定义UUID)status = attmdb_att_set_value(sample128_env.sample128_shdl,//属性句柄ATT_UUID_128_LEN,//该值是服务的128位UUID(uint8_t *)sample128_svc.uuid // uuid的服务);
改变这个
//添加主要服务属性//////////////////////////////////////////////////////////////////////////////////////////////////////////////// //status = attmdb_add_attribute(sample128_env.sample128_shdl,//属性句柄ATT_UUID_16_LEN,// DATA SIZE = 2(ATT_UUID_16_LEN)ATT_UUID_16_LEN,//声明类型ID的大小(UINT8_T *)&ATT_DECL_SVC,// 0x2800用于主要服务声明perm(rd,启用),//权限&(sample128_env.sample128_shdl)//属性句柄);
//添加主服务属性的值(自定义UUID)status = attmdb_att_set_value(sample128_env.sample128_shdl,//属性句柄ATT_UUID_16_LEN,//值是服务的16位UUID(uint8_t *)sample128_svc.uuid // uuid的服务);
请注意,您还必须更新NB_ATT_16,NB_ATT_128和总服务大小。
感谢您的回答。它现在有效。
您可以使用Sample128代码。您必须更改的只是使用16位值的服务声明属性而不是128位值。
//添加主要服务属性//////////////////////////////////////////////////////////////////////////////////////////////////////////////// //
status = attmdb_add_attribute(sample128_env.sample128_shdl,//属性句柄
ATT_UUID_128_LEN,//数据大小= 16(ATT_UUID_128_LEN)
ATT_UUID_16_LEN,//声明类型ID的大小
(UINT8_T *)&ATT_DECL_SVC,// 0x2800用于主要服务声明
perm(rd,启用),//权限
&(sample128_env.sample128_shdl)//属性句柄
);
//添加主服务属性的值(自定义UUID)
status = attmdb_att_set_value(sample128_env.sample128_shdl,//属性句柄
ATT_UUID_128_LEN,//该值是服务的128位UUID
(uint8_t *)sample128_svc.uuid // uuid的服务
);
改变这个
//添加主要服务属性//////////////////////////////////////////////////////////////////////////////////////////////////////////////// //
status = attmdb_add_attribute(sample128_env.sample128_shdl,//属性句柄
ATT_UUID_16_LEN,// DATA SIZE = 2(ATT_UUID_16_LEN)
ATT_UUID_16_LEN,//声明类型ID的大小
(UINT8_T *)&ATT_DECL_SVC,// 0x2800用于主要服务声明
perm(rd,启用),//权限
&(sample128_env.sample128_shdl)//属性句柄
);
//添加主服务属性的值(自定义UUID)
status = attmdb_att_set_value(sample128_env.sample128_shdl,//属性句柄
ATT_UUID_16_LEN,//值是服务的16位UUID
(uint8_t *)sample128_svc.uuid // uuid的服务
);
请注意,您还必须更新NB_ATT_16,NB_ATT_128和总服务大小。
感谢您的回答。它现在有效。