首页 > 其他 > 详细

DA14580服务与特征值的具体应用

时间:2019-10-25 14:50:30      阅读:102      评论:0      收藏:0      [点我收藏+]

阅读这篇文章前请先阅读蓝牙协议服务与特征值这篇文章,会更容易理解

如图1-1所示,下面定义了一个属性数组

技术分享图片

 

 

 

 

 

 

 

 

 

 

                               图1-1

uint8_t uuid; 即为特征值的UUID,也为属性的类型。

uint8_t uuid size; 即为特征值的UUID的长度

uint16_t perm; 即为特征值的值类型和值权限

att_size_t max_length;特征值声明的最大长度

att_size_t length;       特征值声明的当前长度

 如图1-2为用户自定义服务,阅读过蓝牙协议服务与特征值这篇文章的人可以看出,这个类似于我是服务A的开头,它包含了本身的权限以及自定义UUID。

static uint16_t att_decl_svc       = ATT_DECL_PRIMARY_SERVICE;

技术分享图片

                             图1-2

根据以上属性数组,可以对图1-2以及1-3有个提前认识。阅读过蓝牙协议服务与特征值这篇文章的同学可以把图1-2的att_decl_char看作是特征值1的开头,PERM(RD, ENABLE)这个为特征值1开头的权限。

根据这个结构体custs1_adc_val_1_char可以看到里面包含了权限、handle,以及类型,其中ATT_CHAR_PROP_NTF可以看作特征值的值权限,handle特征值1的值handle,DEF_CUST1_ADC_VAL_1_UUID_16

可以看作特征值1的值类型。图1-3可以看作特征值1的值,这个值包含了图1-2中值类型,特征值1的值本身的权限以及值,值默认为NULL。图1-4可以看作特征值的特殊操作,包含了本身的权限以及以及用户描述。

// ADC Value 1 Characteristic Declaration
[CUST1_IDX_ADC_VAL_1_CHAR] = {(uint8_t*)&att_decl_char, ATT_UUID_16_LEN, PERM(RD, ENABLE),
sizeof(custs1_adc_val_1_char), sizeof(custs1_adc_val_1_char), (uint8_t*)&custs1_adc_val_1_char},

技术分享图片

 

                                  图1-2

技术分享图片

 

                                 图1-3

 

根据图1-5可以知道这两个变量att_decl_cfg、att_decl_user_desc的含义。

技术分享图片

 

                                图1-4

技术分享图片

 

                                图1-5

 未完,待续写。。。。。。。。。。。。。。。。。。。

DA14580服务与特征值的具体应用

原文:https://www.cnblogs.com/haibian/p/11737294.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!