![daf16bb63b890b3dd3581d43fbca38cd.gif](https://i-blog.csdnimg.cn/blog_migrate/f73b3bd187713ac8ca799aa6ead41c52.gif)
MM32W0x2xxB 蓝牙功能协议栈目前以Lib 形式提供,用户通过调用相关接口的方式实现对应功能。例程中,用户如需调整BLE 数据交互的特征值、服务及数据的收发,可按照如下的几个步骤进行调整,大部分的配置都在..\SRC_LIB\app.c文件中。
蓝牙之间通信是以参数来进行数据传输,即服务端定好一个参数,客户端可以对这个参数进行读,写,通知等操作,这个东西我们称之为特征值(characteristic),但一个参数不够我们用,比如我们这个特征值是电量的值,另一个特征值是设备读取的温度值。那这时候会有多个特征值,并且我们还会对它们分类,分出来的类我们称之为服务(service)。一个设备可以有多个服务,每一个服务可以包含多个特征值,本章节将介绍如何在例程中调整服务及自定义特征值。
在收发数据的时候,对于协议的处理基本都在lib中完成了,我们只需要在对应的接口函数中进一步处理就好。
声明与定义
首先是服务及特特征值的定义,用户可以自己分配,参考结构定义如下所示:
typedef struct ble_character16{
u16 type16; //type2
u16 handle_rec; //han