• 【BLE】CC2541之发现服务与特征值


    一、简介

    本文以SimpleBLECentral工程为例,解析CC2541作为主机时是如何发现从机的服务和特征值的。


    二、实验平台

    协议栈版本:BLE-CC254x-1.4.0

    编译软件:IAR 8.20.2

    硬件平台:Smart RF(主芯片CC2541)

     

     

    三、版权声明

     

    博主:甜甜的大香瓜

    声明:喝水不忘挖井人,转载请注明出处。

    原文地址:http://blog.csdn.NET/feilusia

    联系方式:897503845@qq.com

    香瓜BLE之CC2541群:127442605

    香瓜BLE之CC2640群:557278427

    香瓜BLE之Android群:541462902

    香瓜单片机之STM8/STM32群:164311667
    甜甜的大香瓜的小店(淘宝店):https://shop217632629.taobao.com/?spm=2013.1.1000126.d21.hd2o8i
     
    四、实验前提
    1、在进行本文步骤前,请先阅读以下博文:
    暂无
     
    2、在进行本文步骤前,请先实现以下博文:
    暂无

     

     

    五、基础知识

    1、服务和特征值是什么?

    答:

    一个工程可以有多个服务,比如按键服务、心率计服务、温度计服务。

    一个服务可以有多个特征值,特征值是主从机传输数据的媒介,像运人渡河的小船。

    如果主机要想获得按键服务的特征值,必须先发现按键服务、再获得按键服务的特征值句柄、再根据特征值句柄获取特征值。

     

    六、代码解析

    1、启动发现服务事件

    在连接完成时,主机会判断是否之前获取过特征值句柄,如果没有获取到,则调用定时器进“START_DISCOVERY_EVT事件”开始发现服务。

    2、发现服务事件

    3、发现服务的函数

    默认发现的是UUID为FFF0的服务。

    4、发现服务的回调函数

    发现服务后,就会进入该函数。

    此时可以通过特征值的UUID来读取对应的特征值句柄。默认的是读取CHAR1的特征值句柄。

    5、获得特征值句柄

    读到特征值句柄后会再次进入该回调函数,此时将特征值句柄保存下来,随口可用来操作特征值。

  • 相关阅读:
    javascript实现网页分享至朋友圈功能
    Vue中全局过滤器期与局部过滤器期的使用
    vue中添加与删除,关键字搜索
    vue生命周期
    4种常用的Ajax请求方式
    CSS 基础总结
    BEM思想之彻底弄清BEM语法
    学习前端过程中用到的资料
    深入理解,函数声明、函数表达式、匿名函数、立即执行函数、window.onload的区别.
    html基础
  • 原文地址:https://www.cnblogs.com/wanghuaijun/p/9419827.html
Copyright © 2020-2023  润新知