前言
第一章 新手常见问题集
1.1、本章简介
********************准备阶段问题集*******************
1.2.1、新手入门,有什么学习资源吗?
1.2.2、新手入门,如何学习较快?
1.2.3、怎么样的手机才支持蓝牙4.0、蓝牙5?
1.2.4、什么是蓝牙的主机、从机?
1.2.5、蓝牙能否一主多从、一从多主?
1.2.6、蓝牙主从机通信的方式有几种?
1.2.7、蓝牙信号是否会受到干扰?
1.2.8、如何调整蓝牙通信的距离?
1.2.9、是不是蓝牙通信距离越远越好?
1.2.10、BLE跟蓝牙什么关系?
1.2.11、手机中的蓝牙是经典蓝牙还是BLE?
1.2.12、手机BLE能作从机广播吗?
1.2.13、主机、从机、客户端、服务器是什么关系?
1.2.14、手机端有什么蓝牙app好用吗?
1.2.15、BLE的认证是怎么回事?
*******************开发阶段问题集********************
1.3.1、为何有时固件端更新了代码,手机APP端却看不到现象?
1.3.2、蓝牙广播停止、蓝牙通信断开的原因是什么?
1.3.3、为什么有些工程会异常(打开时软件崩溃退出、编译没错而仿真却出错、使用别人的工程出错)?
1.3.4、为什么我的串口收发不正常、串口乱码??
1.3.5、为什么有些函数中有些变量前加void?
1.3.6、为什么看到别人代码中使用notify时,用到的特征值句柄为0x002E、0x0035,哪里来的?
1.3.7、为什么看到别人代码中使用GATT_Notification(0, &pReport, FALSE)的连接句柄是0?
1.3.8、CC2541的工程能下到CC2540中、CC2540的工程能下到CC2541中吗?
1.3.9、为什么我的packet sniffer抓不到通信数据包?
1.3.10、CC2541通信时一个数据包最多能传几个字节?
1.3.11、CC2540和CC2541有什么区别?
1.3.12、从机怎么给主机发送数据?
1.3.13、为什么我的按键按了没反应?
1.3.14、我用HalLedSet函数开led,为什么有时会闪烁?
1.3.15、为什么手机自带的蓝牙软件扫描不到CC2541的广播?
1.3.16、为什么2541flash只有256K,却能下载大于256K的hex?
1.3.17、如何查看工程的bin大小?
1.3.18、CC2541是否能同时使用两个串口?
1.3.19、在香瓜开发板上如何点亮oled?
1.3.20、使用BTool软件时显示超时,是怎么回事?
1.3.21、进行修改了CC2541端的名称、修改了CC2541端的特征值等操作,为什么手机上显示的仍然是之前的显示数据?
1.3.22、CC2540、CC2541都能作为packet sniffer的抓包工具,进行抓包吗?
1.3.23、CC2541被手机连接上以后,是否还能广播数据让其他设备搜到?
1.3.24、32M、32K外部晶振能不能省略?
1.3.25、CC2541的OSAL中使用的定时器是哪个定时器?
1.3.26、协议栈中的SimpleBLECentral例程,如何修改才能搜索周围的ble设备(如手环等)?
1.3.27、CC2541的RF工作频率是多少?
1.3.28、CC2541的adc采样位有几位?
1.3.29、CC2541从机如何获取主机MAC地址?
1.3.30、主机端接收灵敏度如何设置?
1.3.31、ANCS是什么?
1.3.32、CC2541从机的广播间隔拉长为3S,导致CC2541主机连接很慢,怎么解决?
1.3.33、simpleBLEcentral工程连接simpleBLEperipheral后,发现服务很慢,如何解决?
1.3.34、如何知道一块CR1632(120mAh)在自己的设备上能用多久?
1.3.35、如果从机申请更新参数失败了,会执行什么操作?
1.3.36、为什么我用GAPRole_GetParameter(GAPROLE_CONN_ADDR,peerAddress)获取主机(手机)的mac地址后,每次重启后mac地址就变了?
1.3.37、如何将多个hex合成一个hex?
1.3.38、蓝牙从机设备生产时该如何测试?
1.3.39、packet sniffer如何过滤出某个设备的广播包信息?
1.3.40、假设特征值6的数据长度是20,如何能让app发送少于20字节数据给CC2541?
***************仿真器CC Debugger问题集*****************
1.4.1、下载线需要几根?如何连接?
*****************开发工具问题集**********************
1.5.1、IAR版本与协议栈版本该如何选择?
1.5.2、为什么有时候IAR中设置不了断点?
1.5.3、仿真状态下,为什么查看的变量值看不到?
1.5.4、为什么工程中有些是灰色的文件?
1.5.5、工程中的“CC2541DK-MINI Keyfob”是什么?
第二章 opengua官方旗舰店
2.1、本章简介
********************蓝牙5开发板套件*******************
2.2.1、CC2640R2F开发板
2.2.2、XDS100V3下载器/仿真器
2.2.3、CC2640R2F传感器套件
2.2.4、OLED显示屏
2.2.5、USB Dongle抓包工具
*******************蓝牙4.0开发板套件******************
2.3.1、CC2540开发板
2.3.2、CC Debugger下载器/仿真器
*******************树莓派开发板套件******************
2.4.1、树莓派ZERO开发板
2.4.2、树莓派ZERO W开发板
*******************香瓜团队服务******************
2.5.1、香瓜团队培训课
2.5.2、香瓜团队技术支持服务
2.5.3、香瓜团队项目外包服务
第三章 软件的安装及使用
3.1、本章简介
3.2、下载地址
3.3、安装及使用
3.3.1、协议栈
3.3.2、编译器
3.3.3、下载软件
3.3.4、抓包软件
3.3.5、代码阅读工具
3.3.6、代码对比工具
3.3.7、串口调试助手
3.3.8、串口抓包工具
3.3.9、USB转串口驱动
3.3.10、CDC驱动
3.3.11、安卓端app
第四章 蓝牙通信初体验
4.1、本章简介
4.2、手机(主机)与蓝牙开发板(从机)的简单通信
第五章 初级例程-外设相关
5.1、本章简介
5.2.1、CC2541之spi从模式的中断接收
5.2.2、CC2541之解析协议栈的晶振初始化过程
5.2.3、CC2541之与CC2540的区别
5.2.4、CC2541之指令周期
5.2.5、CC2541之32.768kHZ外部晶振
5.2.6、CC2541之自定义IO输出
5.2.7、CC2541之按键
5.2.8、CC2541之自定义按键
5.2.9、CC2541之自定义长短按键
5.2.10、CC2541之多个自定义长短按键
5.2.11、CC2541之串口收发
5.2.12、CC2541之OLED
5.2.13、CC2541之timer1
5.2.14、CC2541之timer3
5.2.15、CC2541之看门狗
5.2.16、CC2541之PWM
5.2.17、CC2541之硬件IIC(TMP102温度传感器)
5.2.18、CC2541之CC Debugger
5.2.19、CC2541之BTool
第六章 中级例程-蓝牙相关
6.1、本章简介
6.2.1、CC2541之连接参数
6.2.2、CC2541之发现服务与特征值
6.2.3、CC2541之发现多个特征值句柄
6.2.4、CC2541之添加特征值
6.2.5、CC2541之notify
6.2.6、CC2541之indicate
6.2.7、CC2541之添加自定义服务
6.2.8、CC2541之添加自定义任务
6.2.9、CC2541之删除服务
6.2.10、CC2541之连接时广播
6.2.11、CC2541之主从机端主动断开连接
6.2.12、CC2541之开启广播过程
6.2.13、CC2541之回调函数
6.2.14、CC2541之修改MAC
6.2.15、CC2541之广播MAC
6.2.16、CC2541之动态广播
6.2.17、CC2541之动态更新设备名
6.2.18、CC2541之通过广播发送自定义数据
6.2.19、CC2541之修改广播时间
6.2.20、CC2541之设置发射功率
6.2.21、CC2541之修改广播通道
1、广播通道为全通道
2、广播通道修改成38广播通道
6.2.22、CC2541之解析simpleBLECentralEventCB
6.2.23、CC2541之RSSI
1、SimpleBLECentral工程中以连接方式读RSSI
2、SimpleBLEPeripheral工程以连接方式读RSSI
3、SimpleBLECentral工程中以不连接的扫描方式读RSSI)
6.2.24、CC2541之主机端读取特征值
6.2.25、CC2541之主机端获取广播包数据
6.2.26、CC2541之主机端获取notify数据
6.2.27、CC2541之配对与绑定
6.2.28、CC2541之设置出厂时的配对密码
6.2.29、CC2541之配对密码的读取与修改
6.2.30、CC2541之配对密码的重置
6.2.31、CC2541之数据加密与解密
6.2.32、CC2541之数据加密与解密(利用MAC形成自定义秘钥)
6.2.33、CC2541之动态广播加密数据
6.2.34、CC2541之SNV
6.2.35、CC2541之电池电量服务
6.2.36、CC2541之SBL
6.2.37、CC2541之SBL修改bootloader大小
6.2.38、CC2541之OAD
1、OAD第一次升级步骤
2、OAD第二次升级步骤
6.2.39、CC2541之Large OAD
第七章 高级例程-综合项目
7.1、本章简介
7.2、香瓜的个人代码规范
7.3.1、CC2541之通过RSSI测距
7.3.2、CC2541之DHT11温湿度采集
7.3.3、CC2541之PWM控制直流电机
7.3.4、CC2541之通信协议
更新日志