zoukankan      html  css  js  c++  java
  • DA14580服务与特征值的具体应用

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

    如图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-3以及1-4有个提前认识。阅读过蓝牙协议服务与特征值这篇文章的同学可以把图1-4的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-4可以看作特征值1的值,这个值包含了图1-3中值类型,特征值1的值本身的权限以及值,值默认为NULL。图1-5可以看作特征值的特殊操作,包含了本身的权限以及以及用户描述。

    // 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-3

                                     图1-4

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

                                    图1-5

                                    图1-6

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

  • 相关阅读:
    echarts数据可视化之简单使用范例,
    配置用户/系统环境变量的意义与方法
    关于百度echarts数据可视化js插件基本使用样例
    python 博客引用
    泛型
    Java 关键字
    java基本知识点5
    Java 序列化
    java知识点4
    前端知识点总结1
  • 原文地址:https://www.cnblogs.com/haibian/p/11737294.html
Copyright © 2011-2022 走看看