没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
青风带你玩蓝牙
nrf52840 V3.0
淘宝地址:
http://qfv5.taobao.com/
Copyright© 2018-2024
青风电子社区
ALL rights reserved
1
青风带你玩蓝牙 nrf52840 系列教程
-------------作者:青风..................................................... 3
第一篇:nRF52 处理器初步篇.......................................................4
第一章:蓝牙 5.0 芯片 nrf52840 开发绪论..................................4
1.1 :芯片勘定选型:.............................................................. 4
1.2:开发工具的购买与选取:............................................. 5
1.2.1 开发板的选取:..................................................... 5
1.2.2 抓包器:..................................................................5
1.2.3 OLED 显示器:......................................................6
1.2.4 仿真器:.................................................................7
1.3: 软件与功能开发:.......................................................... 7
1.3.1 资料搜集学习:..................................................... 7
1.3.2 勘误表自查:......................................................... 8
1.3.3 实例开发:............................................................ 8
1.4:产品电路设计:...........................................................13
1.4.1 电路图设计和 PCB 绘制.....................................13
1.4.2 蓝牙射频性能调试.............................................. 14
1.4.3 打板与焊接.......................................................... 14
1.5:性能测试:...................................................................15
1.5.1 RF 测试:..............................................................15
1.5.2 功耗测试:........................................................... 15
1.5.3 认证(可选):........................................................... 16
第二章:蓝牙工程包 SDK 详解.................................................. 18
2.1:SDK15 开发包的基本结构...................................... 18
2.1.1 components 文件包.......................................19
2.1.2 config 文件包................................................... 20
2.1.3 documentaion 文件包...................................20
2.1.4 example 文件包.............................................. 21
2.1.5 external 文件包和 external_tool 包.......... 22
2.1.6 integration 文件包和 modules 文件包...... 23
2.2:开发包外设例子和蓝牙历程说明..............................24
2.2.1 外设硬件例子....................................................24
2.2.2 蓝牙例子说明....................................................26
第三章:开发环境 keil 的使用及工程建立................................ 26
3.1 开发环境 KEIL5 简介................................................. 26
3.2 工程项目的建立............................................................31
3.3 工程项目的仿真与调试.................................................. 42
3.3.1 仿真工具的选择与设置:.................................. 42
3.3.2 项目仿真错误定位.............................................. 44
第四章:蓝牙 5.0 基础概念以及学习规划................................. 55
4.1 蓝牙 5.0 基础概念普及............................................. 55
4.1.1 蓝牙 5.0 的简介:................................................ 55
4.1.2 蓝牙协议栈结构:............................................... 57
4.1.3 蓝牙如何实现连接与通信:............................... 58
4.1.3.1 从机广播.................................................... 59
4.1.3.2 主机扫描.................................................... 59
4.1.3.3 建立连接................................................... 60
4.1.3.4 发送与接收数据....................................... 60
4.2 蓝牙学习规划..............................................................61
4.2.1 蓝牙外设程序学习:.......................................... 62
4.2.2 蓝牙 BLE 程序学习:.........................................63
4.2.2.1 第一步:蓝牙 BLE 基础工程搭建.......... 63
4.2.2.2 第二步:蓝牙任务的建立........................ 64
4.2.2.3 第三步:蓝牙数据传输........................... 65
4.2.2.4 第四步:蓝牙参数及安全设置............... 65
4.2.2.5 第五步:蓝牙综合应用。....................... 66
第五章:蓝牙开发板硬件电路.................................................... 67
5.1 青云 nRF52840EK 主板介绍:....................................67
5.2 青云 nRF52840EK 电路详解:....................................68
第六章 GPIO 端口的应用............................................................ 76
6.1 GPIO 端口资源描述........................................................ 76
6.2 GPIO 寄存器介绍............................................................ 77
6.3 GPIO 输出应用................................................................ 84
6.3.1 点亮第一个 LED 灯.............................................84
1 硬件设计............................................................ 84
2 工程的搭建与编写............................................ 84
6.3.2 蜂鸣器的驱动...................................................... 87
1 硬件设计............................................................ 87
2 程序的编写........................................................ 88
6.4 GPIO 输入应用................................................................ 89
6.4.1 GPIO 输入扫描流程.............................................89
6.4.2 机械按键输入扫描.............................................. 90
1 硬件设计............................................................ 90
2 程序的编写........................................................ 91
6.4.3 电容触摸按键的应用.......................................... 94
1 硬件设计............................................................ 94
2 程序的编写........................................................ 95
第七章 GPIOTE 与外部中断....................................................... 97
7.1 GPIOTE 原理分析........................................................... 97
7.2 GPIOTE 事件应用......................................................... 101
7.2.1 GPIOTE 事件寄存器应用..................................101
7.2.2 GPIOTE 事件组件的应用..................................104
7.3 GPIOTE PORT 应用................................................... 108
7.4 GPIOTE 任务应用...................................................... 111
7.4.1 GPIOTE 任务触发 LED......................................111
7.4.2 组件方式的任务配置........................................ 113
第八章 串口 UART 和 UARTE 外设应用.................................117
8.1 UART 和 UARTE 原理.......................................117
8.1.1 UART 功能描述..........................................117
8.1.2 UARTE 功能介绍....................................... 118
8.2 应用实例编写........................................................ 121
8.2.1 串口 printf 输出......................................... 121
8.2.2 串口输入与回环........................................ 127
8.2.3 UARTE 模式串口中断............................... 129
第九章:内部温度传感与随机数产生...................................... 136
9.1 内部温度传感................................................................136
9.1.1 温度传感器寄存器............................................ 136
911.2 温度传感器电气特征....................................... 138
9.1.3 温度传感器库函数编程.................................... 138
9.2 随机数产生器................................................................141
9.2.1 随机数发生器原理............................................ 141
1 随机数发生器的应用场合.............................. 142
2 偏差校正.......................................................... 142
9.2.2 随机数发生器寄存器........................................ 142
9.2.3 随机数发生库函数编程.................................... 143
1 组件库的编写流程.......................................... 143
2 RNG 工程的搭建..............................................148
第十章 定时器 TIME..................................................................153
10.1 原理分析.............................................................. 153
10.2 定时器定时功能................................................. 156
10.2.1 寄存器编写.............................................. 156
10.2.2 定时器组件的应用.................................. 159
10.3 定时器计数功能................................................. 167
10.3.1 计数器寄存器编写.................................. 167
青风带你玩蓝牙
nrf52840 V3.0
淘宝地址:
http://qfv5.taobao.com/
Copyright© 2018-2024
青风电子社区
ALL rights reserved
2
10.3.2 计数器组件库编程.................................. 169
第十一章 PPI 模块的使用..........................................................173
11.1 原理分析.......................................................................173
11.1.1 PPI 的结构.........................................................173
11.1.2 fork 从任务机制:............................................174
11.1.3 Group 分组机制:............................................ 174
11.2 PPI 之 GPIOTE 应用.................................................175
11.2.1 寄存器编写.......................................................175
11.2.2 组件库函数介绍.............................................. 177
11.2.3 组件库函数的编写:....................................... 179
11.3 fork 从任务应用...........................................................182
11.3.1 PPI fork 从任务寄存器应用.............................182
11.3.2 PPI fork 从任务组件库实现.............................184
11.4 PPI 之 gruop 分组应用............................................. 186
11.4.1 PPI group 分组原理及寄存器应用.................. 186
11.4.2 PPI group 组件库函数介绍.............................. 190
11.4.3 组件库工程的编写:....................................... 191
第一十二章 定时器和 PPI 的联合应用.................................... 195
12.1 PPI 之定时器计数.....................................................195
12.1.1 PPI 定时器计数寄存器编程............................ 195
12.2.1 PPI 定时器计数库函数编程............................ 199
12.2 定时器与 PPI 之软件 PWM.......................................204
12.2.1 软件 PWM 寄存器方式...................................204
12.2.2 软件 PWM 组件库编程...................................207
12.3 PPI 之输入捕获............................................................212
12.3.1 原理分析........................................................... 212
12.3.2 应用实例编写................................................... 214
第十三章 RTC 实时计数器........................................................218
13.1 原理分析.......................................................................218
13.1.1 RTC 的内部结构...............................................218
13.1.2 RTC 的事件.......................................................219
13.2 TICK 滴答与比较事件应用........................................ 223
13.3 RTC 组件库的使用......................................................229
13.3.1 库函数工程的搭建.......................................... 229
13.3.2 库函数 API 介绍..............................................231
13.3.3 程序代码的编写.............................................. 232
13.4 RTC 溢出事件..............................................................237
13.4.1 溢出事件寄存器应用....................................... 237
13.4.2 组件库下溢出事件的应用.............................. 239
第十四章 看门狗.........................................................................241
14.1 原理分析.......................................................................241
14.1.1:看门狗的作用................................................ 241
14.1.2:看门狗的运行................................................ 241
14.2 WDT 寄存器的编程.................................................... 242
14.2.1 看门狗寄存器介绍:...................................... 242
14.2.2 看门狗寄存器配置:...................................... 245
14.3 WDT 库函数的编程.................................................... 247
14.3.1 看门狗的库函数 API 介绍..............................247
14.3.2 看门狗的库函数配置:.................................. 249
第十五章 SAADC 采集..............................................................253
15.1 SAADC 原理分析........................................................253
15.1.1:SAADC 属性参数..........................................253
15.1.2:工作模式:.................................................... 256
15.2 应用实例编写.............................................................. 257
15.2.1 ADC 的单次采样........................................... 257
15.2.2 ADC 的差分采样........................................... 261
15.2.3 EasyDMA 之单缓冲中断采样......................263
15.2.4 PPI 启动双缓冲中断采样............................. 271
第十六章 脉冲调制波 PWM......................................................277
16.1. PWM 脉冲调制波的基本原理...................................277
16.1.1 PMM 模块特征.................................................277
16.1.2 PWM 的计数模式.............................................277
16.1.3 PWM 的周期和占空比控制.............................278
16.1.4 EasyDMA 解码器............................................ 280
16.2 PWM 寄存器编程........................................................281
16.2.1 PWM 寄存器介绍.............................................281
16.2.2 PWM 寄存器向上计数方式编程.....................283
16.2.3 PWM 寄存器向上向下计数方式编程............ 284
16.3 组件库函数编程......................................................... 286
16.4 共用加载模式............................................................. 289
16.4.1 简单回放.......................................................... 289
16.4.2 复杂回放.......................................................... 293
16.4.3 不重启回放...................................................... 295
16.5 独立加载模式............................................................. 296
16.5.1 非回调独立模式............................................... 296
16.5.2 中断回调独立模式.......................................... 298
16.6 分组加载模式............................................................. 301
第十七章 I2C/TWI 读写应用.....................................................306
17.1. I2C/TWI 总线原理分析..............................................306
17.1.1 I2C/TWI 基本概念.........................................306
17.1.2 nRF52 处理器 I2C/TWI 资源........................309
17.1.3 I2C/TWI 寄存器.............................................310
17.2 I2C 编程实例驱动 MPU6050......................................312
17.2.1 I2C/TWI 组件库介绍.....................................312
17.2.2 六轴传感器 MPU6050 介绍......................... 314
17.2.3 I2C 驱动 MPU6050 编程...............................317
17.2.4 堵塞模式和非堵塞模式.................................. 324
17.2.5 下载测试:....................................................... 324
第十八章 SPI 接口的应用..........................................................325
18.1 SPI 总线介绍................................................................325
18.2 nRF52 处理器 SPI 特点...............................................326
18.2.1 SPI 的时序.........................................................326
18.2.2 SPI 模块资源.....................................................327
18.2.3 SPI 主机 EasyDMA.......................................... 327
18.2.4 低功耗.............................................................. 328
18.2.5 主模式引脚配置.............................................. 328
18.3 SPI 接口的寄存器........................................................328
18.4 SPI 读写 W25Q16:....................................................329
18.4.1 硬件准备:...................................................... 329
18.4.2 SPI 组件库介绍.................................................329
18.4.3 应用实例编写................................................... 331
18.4.4 堵塞模式和非堵塞模式.................................. 337
18.4.5 实验现象........................................................... 337
青风带你玩蓝牙
nRF52840 V1.0
淘宝地址:
http://qfv5.taobao.com/
Copyright© 2016-2022 青风电子社区 ALL rights reserved
3
青风带你玩蓝牙
nrf52840
系列教程
-------------作者:青风
出品论坛: www.qfv8.com 青风电子社区
青风带你玩蓝牙
nRF52840 V1.0
淘宝地址:
http://qfv5.taobao.com/
Copyright© 2016-2022 青风电子社区 ALL rights reserved
4
第一篇:
nRF52
处理器初步篇
我们在使用开发蓝牙 BLE 设备之前,首先需要了解开发的处理器基本结构,以及其基础的开发
流程。同时了解芯片厂家提供的开发软件包 SDK 的具体结构,方便后期软件开发。同时了解开发
本芯片需要使用的软件工具 nRFgo Studio,以及开发平台 MDK keil;学习了解如果进行软件代码的
仿真调试与错误跟踪。
因此,为了初步了解 nRF52 处理器的基本开发框架。本篇内容主要分三章:
1 蓝牙 BLE 芯片 nRF52 的介绍以及开发流程;
2 蓝牙 nRF52 系列处理器 SDK 开发板的详解;
3 开发平台 MDK keil 以及软件 nRFgo Studio 的使用;
第一章:蓝牙
5.0
芯片
nrf52840
开发绪论
大家拿到我们开发板后,如何开发出自己的产品?开发步骤有哪些?需要如何入
手?相关技术资料如何查找?这几个问题一直困扰着广大的客户,今天专门写这篇文章
给大家简要的概述下蓝牙 5.0 的整个开发过程。让很多初级用户拿到我们开发板后,
能够知道如何实现我们一个工程项目的开发。
1.1
:芯片勘定选型
:
这个主要通过查阅 nRF52 技术手册来实现的。nRF52 只有一份技术手册,包含了芯片外设模
块功能概述,电气特性参数,应用参考电路,封装和订购信息等内容,nRF52 技术手册每一个外
设模块章节前面是其功能概述,最后一节则是电气特性参数展示。下面给出 nRF52 技术手册链接:
nrf52840 spec:
http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52
%2Fdita%2Fnrf52%2Fchips%2Fnrf52840_ps.html&cp=2_1_0
nRF52840 spec:
http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52
%2Fdita%2Fnrf52%2Fchips%2Fnrf52840_ps.html&cp=2_0_0
nRF52810 spec:
http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52
%2Fdita%2Fnrf52%2Fchips%2Fnrf52810_ps.html&cp=2_2_0
大部分用户使用 Nordic 产品的时候都会使用 Nordic 协议栈,因此评估的时候一定要把协议栈
占用的资源扣除,然后再评估剩下的资源够不够用。同时开发 Nordic 产品的时候,强烈建议大家
去看一下协议栈 spec,以大致了解 Nordic 协议栈的原理以及一些关键性能参数,所以我们也把各
个类型的协议栈规格书链接也放在这里,供大家选型参考:
青风带你玩蓝牙
nRF52840 V1.0
淘宝地址:
http://qfv5.taobao.com/
Copyright© 2016-2022 青风电子社区 ALL rights reserved
5
S132 协议栈 spec:(nrf52840/nrf52810 使用)
http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.s13
2.sds%2Fdita%2Fsoftdevices%2Fs130%2Fs130sds.html&cp=2_3_1_0
S140 协议栈 spec:(nrf52840 使用)
http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.s14
0.sds%2Fdita%2Fsoftdevices%2Fs130%2Fs130sds.html&cp=2_3_2_0
如果你不知道选用哪个协议栈,请参考后面第二篇文章,SDK 介绍。
1.2
:开发工具的购买与选取:
1.2.1 开发板的选取:
nrf52840 开发板,我们店铺推出了一款低价的推广板子,仿照官方的样式设计,
增加了片外 FLASH 和电容触摸。
购买链接:
https://item.taobao.com/item.htm?id=538662293049&spm=2014.21600712.0.0
nrf52840 开发板:
1.2.2 抓包器:
抓取数据包,进行逻辑分析使用,有专门教程:蓝牙广播包和数据包分析进行讲解,
对应大家理解数据类型和数据包,以及进行逻辑分析大有帮助。
购买链接:
https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.594c1deb5G1
Eut&id=545740587424
剩余338页未读,继续阅读
em78p156
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0