OLE_LINK1
目录
A. 阅读指导
B. 技术支持
C. 广告、脱机烧录、量产必备
1 开发板操作体验
1.1 开发套件介绍
1.2 上电运行
1.2.1出厂固件功能参数
1.3 Android手机与开发板的通信
1.3.1 安装Android手机APP
1.3.2 手机APP与开发板通信
1.3.3 手机APP电开关开发板LED灯
1.3.4 手机APP测距(实验性质)
1.3.5 开发板进入低功耗
1.4 苹果手机与开发板的通信
1.4.1 安装苹果手机LightBlue软件
1.4.2 手机APP与开发板通信
1.4.3 手机APP电开关开发板LED灯
1.4.4 手机APP测距(实验性质)
1.4.5 开发板进入低功耗
1.5 两个CC254x开发板之间的通信
1.5.1 启动开发板为主机或从机
1.5.2 主机连接从机
1.5.3 双向串口透传
1.5.3.1 理论透传性能
1.5.3.2 主机发送到从机的传输速率极限测试 1KB/S
1.5.3.3 从机发送到主机的传输速率极限测试 5KB/S
1.5.3.4 透传性能还能提高么?
1.5.4 测距功能
1.5.5 开发板进入低功耗
2 软件安装
2.1 安装BLE协议栈与Btool
2.1.1 安装BLE协议栈
2.1.2 替换LCD驱动文件
2.1.3 BLE协议栈结构
2.1.4 安装Btool
2.1.5 Btool的使用
2.2 安装IAR软件
2.2.1 IAR安装
2.2.2 IAR破解
2.2.3 IAR编译、下载、调试
2.2.3.1 打开 SimpleBLEPeripheral
2.2.3.2 编译 SimpleBLEPeripheral
2.2.3.3 连接开发板实现在线调试
2.3 安装烧录工具Flash Programmer
2.3.1 Flash Programmer的使用方法
2.5 安装 USB 转串口驱动
2.5.1 USB 转串口驱动-CH340G
2.5.2 USB 转串口驱动-PL2303H
2.6 安装 PacketSniffer 协议分析软件(选装)
2.7 安装Android开发环境
2.7.1 安装 JAVA jdk
2.7.2 使用的eclipse+adt 集成压缩包
2.7.3 Eclipse导入Android 项目工程中文乱码的解决方法
2.7.3.1 设置工作空间的编码
2.7.4 可参考的第三方Android 的视频教程
2.8 安装苹果IOS APP 开发环境
2.9 代码编辑常用工具
2.9.1 SourceInsight 代码阅读和编辑工具
2.9.2 Beyond Compare 代码对比工具
OLE_LINK3
3 CC254X 开发板硬件资源详解
3.1 布局与尺寸
3.2 核心板硬件资源
3.2.1 天线及巴伦匹配电路设计
3.2.2 晶振电路设计
3.3 底板硬件资源
3.3.1 电源电路设计
OLE_LINK4
OLE_LINK5
OLE_LINK6
3.3.2 LED 电路设计
3.3.3 TI 五向按键电路设计
3.3.4 串口电路设计/USB 转 UART
3.3.5 LCD12864(OLED显示屏) 电路设计
3.3.6 开发板扩展接口设计
3.3.7 复位电路
3.3.8 Debugger 接口
3.3.9 MPU6050六轴传感器 接口
3.9.10 光敏传感器
3.9.11 继电器接口
3.9.12 气体传感器接口
3.9.13 人体感应器接口
3.4 本章小结
4 BLE 协议栈入门
4.1 BLE 协议栈
4.1.1 什么是 BLE 协议栈
4.1.2 如何使用 BLE 协议栈
4.1.3 BLE协议栈的结构与编译
4.1.3.1 BLE协议栈的结构
4.1.3.2 替换LCD驱动文件
4.1.3.3 编译从机例程 SimpleBLEPeripheral 与下载
4.2 BLE 协议栈基础实验:数据传输实验
4.2.1 SimpleBLECentral 主机编程
4.2.2 SimpleBLEPeripheral 从机编程
4.2.3 Central 和 Peripheral 从机通信测试
4.2.3.1 开机
4.2.3.2 搜索从机
4.2.3.3 查看搜索到的从机列表
4.2.3.5 选择从机并且连接
4.2.3.6 数据通信
4.2.3.7 实时查询 RSSI 信号值
4.2.3.8 断开连接
4.2.4 iPhone LightBlue与开发板之间的通信实验
4.2.4.1 打开蓝牙开关并运行Lightblue
4.2.4.2 搜索从机
4.2.4.3 连接从机
4.2.4.4 Service 枚举
4.2.4.5 Characteristic 枚举
4.2.4.6 数据通信
4.2.5 PC与开发板之间的通过Btool的通信实验
4.2.5.1 运行 BTool 有两种方式:
4.2.5.2 btool端口设置
4.2.5.3 搜索从机
4.2.5.4 连接从机
4.2.5.5 读取从机设备名称
4.2.5.6 执行写 char 操作。
4.2.5.7 执行读 char 操作。
4.3 BLE 数据传输实验剖析
4.3.1 数据发送
4.3.1.1 主机向从机发送数据
4.3.1.2 从机向主机发送数据
4.3.2 数据接收
4.3.3 从机接收主机发来的数据
4.4 数据包的捕获 Sniffer抓包分析
4.5 本章小结
5 BLE 协议栈开发提高
5.1 深入理解 BLE 协议栈的构成
5.1.1 BLE 协议层
5.1.2 拓扑结构和设备状态
5.1.3 BLE 状态以及连接过程
5.1.4 BLE 和快递服务类比
5.1.5 BLE 广播事件
5.1.6 BLE 广播间隔
5.1.7 BLE 扫描事件
5.1.8 BLE 发起连接
5.1.9 BLE 连接参数
5.1.10 BLE 连接事件
5.1.11 Slave 的潜伏
5.1.12 连接参数的设定
5.1.13 终止连接
5.1.14 ATT 的 Client/Server 架构
5.1.15 ATT 的 AttributeTaBLE Example(属性表示例)
5.1.16 GATT 的 Client/Server 架构
5.1.17 GATT 的 Profile 层次结构
5.1.18 GATT Service Example
5.1.19 GATT 的 Characteristic Declaration
5.1.20 GATT 的 Characteristic Configuration
5.1.21 GATT 的 Client Commands
5.2 TI-BLE 协议栈简介
5.2.1 协议栈 demo 分类
5.2.1.1 第一类 单芯片方案
5.2.1.2 第二类 网络处理器
5.2.2 协议栈 demo 工程目录结构
5.2.3 BLE 协议栈执行流程
5.3 BLE 协议栈 OSAL 介绍
5.3.1 OSAL 常用术语
5.3.2 OSAL 运行机理
5.3.3 OSAL 消息队列
5.3.4 OSAL 添加新任务
5.3.5 OSAL 应用编程接口
5.3.5.1 任务同步 api
5.3.5.2 内存管理 api
5.3.5.3 非易失闪存管理
5.3.6 OSAL 使用范例分析
5.3.6.1 用户事件的启动和接收
5.3.6.2 MSG 消息的发送与接收
5.3.6.3 发送和接收自定义的 MSG 消息
5.4 硬件抽象层 HAL
5.4.1 硬件抽象层文件目录
5.4.1.1 Common 文件夹
5.4.1.2 Include 文件夹
5.4.1.3 Target 文件夹
5.4.2 硬件抽象层驱动编译
5.5 BLE 协议栈的 GAP 和 GATT
5.5.1 通用访问配置文件(GAP)
5.5.2 通用属性配置文件(GATT)
5.5.3 BLE 协议栈提供的 GAP 和 GATT 的 API 函数
5.6 BLE 协议栈中串口通信
5.6.1 串口代码实现步骤
5.6.1.1 定义串口使能与显示映射到串口
5.6.1.2 串口驱动接口
5.6.1.3 编写串口接收回调函数
5.6.1.4 调用串口初始化函数。
5.6.1.5 去掉串口流控
5.6.1.6 添加头文件
5.6.2 测试串口收发
5.6.3 修改好的串口通信例程(4个)
5.7 BLE 协议栈里的网络处理器 HostTestRelease
5.7.1 工程概述
6 本章留空占位
7 基础例程
8 中级教程
9 高级实践
88 Sniffer抓包协议分析
88.1 构建 BLE 协议分析仪
88.2 BLE广播与扫描数据包的结构
88.2.1 广播 Advertising
88.2.2 代码中的广播数据
88.2.3 空中的广播数据
88.2.4 扫描请求
88.2.5 扫描回应 Scan Response
100 网摘问答
100.1. 问:什么是蓝牙通信?
100.2. 问:如果从事蓝牙开发有没有前途?
100.3. 问:蓝牙有什么优势?
100.4. 问:蓝牙4.0协议和BLE是什么?
100.5. 问:目前支持蓝牙4.0的移动设备有哪些?
100.6. 问:如何开始蓝牙4.0的开发呢?
100.7. 问:刚开始接触蓝牙如何快速上手?
100.8. 问:IAR调试CC2540时程序导入到了芯片的Flash中了吗?
100.9. 问:当IAR调试中出现警告“缺少断点,无法运行到main()”?
100.10. 问:为什么IAR调试时有很多变量无法查看它的值?
100.11. 问:蓝牙协议分层很多且比较复杂,该如何掌握呢?
100.12. 问:OSAL是一个操作系统吗?
100.13. 问:蓝牙节点是如何组成微微网的呢?
100.14. 问:主节点和从节点通信的过程是怎样的呢?
100.15. 问:蓝牙通信中两个节点如何交换数据?
100.16. 问:Client和Server节点是如何定义呢?
100.17. 问:Server是如何提供数据呢?
100.19. 问:什么是Server提供服务中的句柄呢?
100.20. 问:为什么Server提供的服务中有描述?
100.21. 问:服务的属性与描述有区别吗?
100.23. 问:如何知道一个服务的Handle?
100.24. 问:Server可以访问Client吗?
100.25. 问:如果得知电池容量?
100.26. 问:蓝牙发射信号功率调整会影响通信距离吗?
100.27. 问:如何知道两个蓝牙通信节点之间的距离?
100.28. 问:如何获取蓝牙节点的接收RSSI值?
100.29. 问:如何开展读取RSSI值的实验?
100.30. 问:如何将接收RSSI实验数据得到距离计算公式呢?
100.31. 问:针对RSSI采样值选用什么样的滤波算法?
101 阿莫开发笔记与网友问答
101.1 为什么oled显示屏不显示?
101.2 主机如何清除绑定地址?
101.3 替换 Hal_lcd.c 了,从机Oled显示屏不亮但主机是亮的?
101.5 IAR编译出来的bin文件有多大怎么看?
101.6 BLE协议栈的系统节拍时钟用的是哪个定时器?
101.7 开发板的五向按键 center 被误认为 right ?
101.8 如何用IAR编译生成 HEX文件?
101.9 SimpleBLEObserver 这个工程下载无效?
101.10 板子上那些通道可以AD输入?