zoukankan      html  css  js  c++  java
  • 【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、获得特征值句柄

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

  • 相关阅读:
    输出 n 层的三角形,倒三角和叠在一起的沙漏
    求构成给定自然数的平方数的最小个数
    求一正整数约数的个数
    第一个符合要求的元素
    树枝节点之和是否等于给定值
    安装gcc
    杭电1004 ac code
    rabbitmq 笔记
    国行 lg g3 D858 刷 lg g3 D858hk 教程(备忘)
    MySQL存储过程错误No data
  • 原文地址:https://www.cnblogs.com/wanghuaijun/p/9419827.html
Copyright © 2011-2022 走看看