沁恒低功耗蓝牙
软件开发参考手册
V1.7
2022 年 9 月 30 日
沁恒低功耗蓝牙软件开发参考手册 1 http://wch.cn
目录
目录 ......................................................................... 1
前言 ......................................................................... 4
1. 概述 ...................................................................... 5
1.1 介绍 ................................................................. 5
1.2 低功耗蓝牙协议栈基本介绍 ............................................. 5
2. 开发平台 .................................................................. 7
2.1 概述 ................................................................. 7
2.2 配置 ................................................................. 7
2.3 软件概述 ............................................................. 7
3. 任务管理系统(TMOS) ...................................................... 8
3.1 概述 ................................................................. 8
3.2 任务初始化 ........................................................... 8
3.3 任务事件及事件的执行 ................................................. 8
3.4 内存管理 ............................................................ 10
3.5 TMOS 数据传递 ....................................................... 10
4. 应用例程简析 ............................................................. 12
4.1 概述 ................................................................ 12
4.2 工程预览 ............................................................ 12
4.3 始于 main() ......................................................... 13
4.4 应用初始化 .......................................................... 13
4.4.1 低功耗蓝牙库初始化 ............................................ 13
4.4.2 HAL 层初始化................................................... 13
4.4.3 低功耗蓝牙从机初始化 .......................................... 14
4.5 事件处理 ............................................................ 16
4.5.1 定时事件 ...................................................... 17
4.5.2 TMOS 消息传递 .................................................. 17
4.6 回调 ................................................................ 17
5. 低功耗蓝牙协议栈 ......................................................... 18
5.1 概述 ................................................................ 18
5.2 通用访问配置文件(GAP) ............................................. 18
5.2.1 概述 .......................................................... 18
5.2.2 GAP 抽象层..................................................... 20
5.2.3 GAP 层配置..................................................... 21
5.3 GAPRole 任务 ........................................................ 21
5.3.1 外围设备角色(Peripheral Role) ............................... 21
5.3.2 中心设备角色(Central Role) .................................. 23
5.4 GAP 绑定管理 ........................................................ 24
5.4.1 关闭配对 ...................................................... 25
5.4.2 直接配对但不绑定 .............................................. 25
5.4.3 通过中间人配对绑定 ............................................ 25
5.5 通用属性配置文件(GATT) ............................................ 26
5.5.1 GATT 特征及属性 ................................................ 26
沁恒低功耗蓝牙软件开发参考手册 2 http://wch.cn
5.5.2 GATT 服务与协议 ................................................ 27
5.5.3 GATT 客户端抽象层 .............................................. 27
5.5.4 GATT 服务器抽象层 .............................................. 29
5.6 逻辑链路控制和适配协议 .............................................. 36
5.7 主机与控制器交互 .................................................... 36
6. 创建一个 BLE 应用程序 ..................................................... 37
6.1 概述 ................................................................ 37
6.2 配置蓝牙协议栈 ...................................................... 37
6.3 定义低功耗蓝牙行为 .................................................. 37
6.4 定义应用程序任务 .................................................... 37
6.5 应用配置文件 ........................................................ 37
6.6 在低功耗蓝牙工作期间限制应用程序处理 ................................ 37
6.7 中断 ................................................................ 37
7. 创建一个简单的 RF 应用程序 ................................................ 38
7.1 概述 ................................................................ 38
7.2 配置协议栈 .......................................................... 38
7.3 定义应用程序任务 .................................................... 38
7.4 应用配置文件 ........................................................ 38
7.5 RF 通信 ............................................................. 38
7.5.1 Basic 模式..................................................... 38
7.5.2 Auto 模式...................................................... 39
8. API ...................................................................... 41
8.1 TMOS API ............................................................ 41
8.1.1 指令 .......................................................... 41
8.2 GAP API ............................................................. 45
8.2.1 指令 .......................................................... 45
8.2.2 配置参数 ...................................................... 46
8.2.3 事件 .......................................................... 46
8.3 GAPRole API ......................................................... 48
8.3.1 GAPRole Common Role API ....................................... 49
8.3.2 GAPRolePeripheral Role API .................................... 50
8.3.3 GAPRole Central Role API ...................................... 52
8.4 GATT API ............................................................ 55
8.4.1 指令 .......................................................... 55
8.4.2 返回 .......................................................... 59
8.4.3 事件 .......................................................... 59
8.4.4 GATT 指令与相应的 ATT 事件 ...................................... 61
8.4.5 ATT_ERROR_RSP 错误码 ........................................... 62
8.5 GATTServApp API ..................................................... 62
8.5.1 指令 .......................................................... 62
8.6 GAPBondMgr API ...................................................... 64
8.6.1 指令 .......................................................... 64
8.6.2 配置参数 ...................................................... 64
8.7 RF PHY API .......................................................... 65
沁恒低功耗蓝牙软件开发参考手册 3 http://wch.cn
8.7.1 指令 .......................................................... 65
8.7.2 配置参数 ...................................................... 66
8.7.3 回调函数 ...................................................... 67
修订记录 .................................................................... 68