• 【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、获得特征值句柄

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

  • 相关阅读:
    VS2013 快捷键乱掉如何修改回来
    WCF契约之---服务契约 、数据契约、 消息契约
    成功的背后!(给所有IT人)----转载:来自CSDN第一名博主
    C# Attribute(特性)之---契约---[ServiceContract] 、 [OperationContract]
    SQL Server数据库连接字符串整理
    大写String和小写string的区别
    C#经典之Application.DoEvents()的使用
    C#实现多态之一抽象
    C# Attribute(特性)之---数据契约 [DataContract]
    Druid数据库连接池获取连接阻塞(转载)
  • 原文地址:https://www.cnblogs.com/wanghuaijun/p/9419827.html
Copyright © 2020-2023  润新知