使用attmdb_add_service()创建128位UUID配置文件

5个职位/ 0个新职位
最后发表
马修安东尼
离线
最后看到:4年3个月前
专家
加入:2014-01-14事故
使用attmdb_add_service()创建128位UUID配置文件

你好,

基于您提供的sample128示例,我正在构建我自己的专有配置文件。当使用attmdb_add_service()函数时,会出现一些疑问……

让我们继续看当前的例子。有2个128位UUID特征(一个RW,一个RW+ntf)。

在sample128_task.c中,有一个名为_create_db_req_handler()的函数,该函数填充数据库。以下是我对attmdb_add_service()使用方式的理解:
nb_att_16 = 4(我下面的描述对吗?)
_ 1*主服务声明(UUID16 = 0x2800)
_ 2*特性声明(UUID16 = 0x2803)
_ 1*客户端特性配置(UUID16 = 0x2902)
—nb_att_32 = 0
- nb_att_128 = 2
_ 2 uid128特性

为什么nb_att_128 = 2而有3个UUID128项(2个特征和服务本身)?

关于服务的实现方式,为什么为sample128选择了attmdb_add_service()函数?几乎所有可用的概要文件都基于attm_svc_create_db()。有没有比另一个更简单的方法?

谢谢,
马特

VesaN
离线
最后看到:5年4个月前
大师 主
加入:2014-06-26 08:49
你好,马特,

你好,马特,

关于服务的实现方式,为什么为sample128选择了attmdb_add_service()函数?几乎所有可用的概要文件都基于attm_svc_create_db()。有没有比另一个更简单的方法?

是的,另一种方法更简单,大多数已经实现的服务都使用这种方法。然而,我不认为您不能使用更简单的方法获得128位服务,至少通过简单的修改(基于我的发现)。

不过,我认为使用更简单的方法创建服务更好。

summer20100514
离线
最后看到:4年2个月前
大师
加入:2014-12-30 05:01
你好,VesaN,麻烦你

你好,VesaN,能否在这里解释一下attm_svc_create_db()方法的更多细节?

VesaN
离线
最后看到:5年4个月前
大师 主
加入:2014-06-26 08:49
嗨summer20100514,

嗨summer20100514,

这是在attm_db.h中找到的描述:

/**
****************************************************************************************
* @brief用于简化服务数据库的创建。

*使用@see attmdb模块的attmdb_add_service函数创建服务数据库,
*然后使用@see attmdb模块的attmdb_add_attribute函数来创建属性
*根据数据库描述数组中给出的参数。

* @注意:数据库描述数组应该是const,以减少内存消耗(仅ROM)
* @注:它只支持16位uuid

@param[in|out] shdl服务启动句柄。
* @param[in|out] cfg_flag配置标志,每个位匹配一个属性
* att_db (Max: 32个属性);如果位设置为1,则
属性将被添加到服务中。
* @param[in] max_nb_att服务属性个数
* @param[in|out] att_tbl数组
*每个特征句柄和服务启动句柄。
如果几个特征是可选的,这个数组是有用的
*在服务中,如果不需要,可以设置为NULL。
* @param[in] dest_id链接到服务的任务ID。此任务将被通知
*每次对端设备修改业务内容时。
* @param[in|out] att_db包含所有属性信息的表

* @return命令状态代码
* - @ref ATT_ERR_NO_ERROR:如果创建数据库成功。
* - @ref ATT_ERR_INVALID_HANDLE:如果start_hdl在参数+ nb属性覆盖
*一些现有的服务手柄。
* - @ref ATT_ERR_INSUFF_RESOURCE:没有足够的内存分配服务缓冲区。
*或新属性不能添加,因为所有预期
*属性已添加或缓冲区溢出检测期间
*配置
****************************************************************************************
* /

谢谢!

summer20100514
离线
最后看到:4年2个月前
大师
加入:2014-12-30 05:01
我以前读过,但是

我以前读过这篇文章,但还是要谢谢你。