1、文档简介
本文档介绍了
XR806 SDK的BLE接口函数的功能、使用说明及使用示例,以指导读者使用XR806 BLE
模块提供的接口进行应用的开发。
2、概述
2.1 背景说明
XR806通过Zephyr协议栈提供BLE功能的支持,提供API供
用户进行调用。API所提供的功能主要有BLE初始化和反初始化、广播打开和关闭、扫描打开和关闭、连接和断开连接等。
2.2 规格特性
XR806 BLE Host 协议栈基于 Zephyr 提供的开源
Bluetooth Host 协议栈进行二次开发,本文撰写期间 XR806 BLE Host 采用 Zephyr V2.3.0 版本。
2.3 文件位置
XR806 BLE 接口属于 BLE Host 提供的 API,其代码位置如表 2-1 所示。
BLE 接口:header
./
include/ble/bluetooth/bluetooth.h
./include/ble/bluetooth/conn.h
./include/ble/bluetooth/gatt.h
3、技术说明
3.1 模块框架
XR806 BLE 模块的系统层次如下图3-1所示。 XR806 BLE 接口位于 BLE 系统的最上层,是 BLE Host 提供给应用的接口。应用通过调用 BLE API,实现完整的BLE功能。
3.2 BLE 接口使用流程
使用 XR806 BLE 接口开发 BLE 功能前,需要先进行 BLE 的初始化。接口使用步骤如下:
(1) 使用接口 bt_
enable()进行 BLE 初始化,对 BLE 所用到的资源进行配置。
(2) 此后可以通过调用 BLE 功能接口实现各个不同的功能,如通过 bt_le_adv_
start()接口启动 BLE 广播。
(3) 需要关闭 BLE 功能时,可以使用 bt_disable()接口。
4、应用说明
4.1 配置说明
启用 BLE 需要使能 BLE 的相关配置,通过工程配置即可启用
BLE 功能使能
设置说明: 此项配置用于在 SDK 中启用 BLE 功能。
设置方法: 编译之前执行命令“
MAKE menuconfig”,进入 BLE 功能项下,将以下功能项打 开:
BLE Controller Ble Host
4.2 接口说明
XR806 BLE 提供了各个功能的接口,主要功能涵括了初始化和反初始化、广播、扫描、连接等。但需要 注意的是,应用可使用的接口还取决于 Kconfig 选项,因为大多数 BLE 功能都是在编译时已经确定好的。 例如,任何与连接相关的 API 都需要配置 CONFIG_BT_CONN 宏,其在 menuconfig 中对应的选项为 BT_CONN。
更多详细内容请下载附件查看