第1章 蓝牙4.0 BLE简介 2
1.1无线网络数据传输协议对比 2
1.2短距离无线网络的分类 4
1.2.1什么是蓝牙4.0 BLE 4
1.2.2蓝牙4.0 BLE的特点 4
1.3蓝牙4.0 BLE协议简介 6
1.4蓝牙4.0 BLE无线网络通信信道分析 6
1.5蓝牙4.0 BLE无线网络拓扑结构 8
1.6蓝牙4.0 BLE技术在物联网的应用 9
1.7 CC2540开发板硬件资源概述 11
1.8本章小结 13
[扩展阅读]蓝牙技术发展历程 13
第2章 IAR集成开发环境 15
2.1 IAR集成开发环境简介 15
2.2工程的编辑与修改 16
2.2.1建立一个新工程 16
2.2.2建立一个源文件 19
2.2.3添加源文件到工程 20
2.2.4工程设置 24
2.2.5源文件的编译 28
2.3本章小结 29
[扩展阅读]模块化编程技巧 29
第3章 CC2540开发板硬件资源 32
3.1 CC2540核心板硬件资源 32
3.1.1 CC2540简介 32
3.1.2天线及巴伦匹配电路设计 33
3.1.3晶振电路设计 33
3.1.4电源电路设计 34
3.1.5 LED电路设计 34
3.1.6 AD转换电路设计 35
3.1.7串口电路设计 36
3.2仿真调试与下载 36
3.2.1仿真调试下载器驱动的安装 36
3.2.2程序仿真调试 38
3.2.3结合SmartRF Flash Programmer软件实现程序下载 39
3.2.4读取CC2540蓝牙设备的IEEE地址 41
3.3本章小结 42
[扩展阅读]天线基础理论 42
第4章CC2540基础实验 46
4.1流水灯基础实验 46
4.2定时器/计数器基础实验 49
4.3定时器/计数器高级实验——定时器中断 53
4.4 UART串口基础实验 57
4.5 UART串口高级实验 61
4.6 UART串口编程高级技巧 68
4.7 AD转换实验之测量VDD实验 71
4.8 AD转换实验之温度采集实验 75
4.9本章小结 78
[扩展阅读]可变参数函数的使用技巧 78
第5章 蓝牙4.0 BLE技术入门 81
5.1蓝牙4.0 BLE协议栈 81
5.1.1什么是蓝牙4.0 BLE协议栈 81
5.1.2如何使用蓝牙4.0 BLE协议栈 82
5.1.3蓝牙4.0 BLE协议栈的安装、编译与下载 82
5.2深入理解蓝牙4.0 BLE协议栈的构成 84
5.2.1 BLE协议栈基础 84
5.2.2 BLE协议栈开发平台配置 85
5.2.3 BLE协议栈执行流程浅析 87
5.3操作系统抽象层 88
5.3.1 OSAL常用术语 88
5.3.2 OSAL运行机理 90
5.3.3 OSAL消息队列 97
5.3.4 OSAL添加新任务 98
5.3.5 OSAL应用编程接口 99
5.4硬件抽象层 102
5.4.1硬件抽象层文件目录 102
5.4.2硬件抽象层驱动编译 104
5.4.3用户自定义驱动 105
5.5配置文件层 105
5.5.1通用访问配置文件(GAP) 106
5.5.2通用属性配置文件(GATT) 108
5.5.3使用GAP和GATT的堆栈API 110
5.6蓝牙4.0 BLE协议栈中串口应用详解 110
5.6.1串口收发实验 111
5.6.2实例测试 113
5.6.3串口工作原理剖析 118
5.7本章小结 124
[扩展阅读]OSI七层模型及协议栈分层思想 124
第6章 蓝牙4.0 BLE无线网络技术 128
6.1蓝牙无线网络节点设备示例工程 128
6.1.1工程概述 128
6.1.2初始化 129
6.1.3周期事件 132
6.1.4外设状态通知回调 134
6.1.5按键服务 136
6.1.6 LCD显示 138
6.2蓝牙无线网络集中器示例工程 140
6.2.1工程概述 140
6.2.2初始化 141
6.2.3事件处理 143
6.2.4回调函数 153
6.2.5服务发现 157
6.3网络处理器工程简介 167
6.3.1工程概述 167
6.3.2 BLE协议栈的外部设备控制 168
6.4本章小结 168
[扩展阅读]探究接收数据的存放位置 169
第7章PC端调试开发工具 173
7.1启动BToll工具 173
7.2创建BToll与蓝牙节点设备的连接 175
7.2.1设置节点设备的可发现状态 175
7.2.2扫描节点设备 177
7.2.3连接参数设置 178
7.2.4建立连接 178
7.3 GATT数据服务 180
7.3.1通过UUID读取特性 180
7.3.2通过句柄写入特性值 183
7.3.3通过句柄读取特性值 184
7.3.4通过UUID发现特性 185
7.3.5通过句柄读取多个特性值 186
7.3.6特性值通知功能 188
7.4自定义GATT数据服务 191
7.4.1节点设备编程 191
7.4.2实例测试 202
7.5本章小结 207
[扩展阅读]GATT数据服务的通知与指示 207
第8章 蓝牙4.0 BLE无线数据传输分析 210
8.1蓝牙4.0 BLE数据包的捕获 210
8.1.1构建蓝牙4.0 BLE协议分析仪 210
8.1.2蓝牙4.0 BLE数据包的结构 212
8.2蓝牙4.0 BLE数据传输实验剖析 213
8.2.1实验原理及流程图 213
8.2.2节点设备发送的广告数据 214
8.2.3节点设备扫描回应的数据 215
8.2.4蓝牙4.0 BLE应用数据传输流程分析 217
8.2.5数据收发实验回顾 225
8.3本章小结 226
[扩展阅读]蓝牙4.0 BLE协议栈数据包格式 226
第9章 蓝牙4.0 BLE无线网络技术拓展 230
9.1 BLE协议栈的中断处理机制 230
9.1.1中断处理编程 230
9.1.2实例测试 237
9.2获取广告设备地址 238
9.2.1广告设备编程 239
9.2.2集中器设备编程 244
9.2.3实例测试 249
9.3无线温度采集系统设计 250
9.3.1实验原理及流程图 250
9.3.2节点设备编程 250
9.3.3集中器设备编程 254
9.4蓝牙4.0 BLE无线传感器网络组建 256
9.4.1集中器与多个节点设备建立连接 257
9.4.2实例测试 263
9.5本章小结 264
[扩展阅读]倒F天线设计 264