logo资料库

nRF52810开发指南-上册.pdf

第1页 / 共408页
第2页 / 共408页
第3页 / 共408页
第4页 / 共408页
第5页 / 共408页
第6页 / 共408页
第7页 / 共408页
第8页 / 共408页
资料共408页,剩余部分请下载后查看
第一章:开发板硬件描述
1. 功能特点
2. 硬件原理
2.1. nRF52810特点
2.2. 电源
2.3. 指示灯
2.4. 轻触按键和触摸按键
2.5. 蜂鸣器
2.6. 电位器检测
2.7. 红外接收
2.8. USB转UART
2.9. I2S音频模块接口(仅nRF52832)
2.10. 显示模块接口
2.11. Wifi模块
2.12. NFC天线接口(仅nRF52832)
2.13. 温湿度和PM2.5检测模块接口
2.14. 运动传感器模块接口
2.15. TF卡座
2.16. 调试接口
3. 开发板硬件连接
第二章:开发工具
1. 硬件设备
2. 软件工具
第三章:搭建开发环境
1. 需要的工具软件
2. 搭建开发环境
2.1. 安装串口驱动
2.2. 安装MDK5.23
2.2.1. Keil μVision简介
2.2.2. MDK5.23安装步骤
2.3. 安装pack
2.4. 安装nRF5x-Command-Line-Tools
2.5. 更新JLINK固件和“JLinkARM.dll”
2.6. 手机端APP安装
第四章:新建和配置裸机工程
1. SDK库简介
2. 新建和配置工程
2.1. 新建工程模板
2.1.1. 规划工程目录
2.1.2. 建立目录、拷贝库文件
2.1.3. 新建工程
2.1.4. 添加需要的组件
2.2. 配置工程
2.2.1. 配置“Target”选项卡
2.2.2. 配置“Output”选项卡
2.2.3. 配置“C/C++”选项卡
2.2.4. 配置“Debug”选项卡
2.3. 编写驱动LED代码
2.3.1. 新建main.c文件并添加到工程。
2.3.2. 引用头文件
2.3.3. 编写代码
2.4. 编译工程
2.5. 程序烧写
2.6. MDK常用操作
第五章:程序下载
1. 下载方式概述
2. 方式1:MDK直接下载
2.1. 下载裸机程序
2.2. 下载BLE程序
2.2.1. 下载协议栈
2.2.2. 下载应用程序
2.2.3. 全片擦除芯片
2.3. 本节常见问题
3. 方式2:使用J-Flash下载
3.1. J-Flash简介
3.2. 使用J-Flash
3.2.1. 启动J-Flash
3.2.2. 配置工程
3.2.3. 擦除芯片
3.2.4. 烧写和运行程序
3.2.5. 关闭J-Flash
第六章:GPIO输出驱动LED
1. 学习目的
2. 硬件电路设计
2.1. 控制方式
2.2. LED限流电阻的选取
3. GPIO输出驱动原理
3.1. 功能描述
3.2. 引脚的驱动能力
3.3. GPIO应用注意事项
4. 软件设计
4.1. GPIO配置
4.2. 库函数的应用
4.3. 驱动LED闪烁
4.3.1. 代码编写
4.3.2. 硬件连接
4.3.3. 实验步骤
4.4. 实现流水灯
4.4.1. 代码编写
4.4.2. 硬件连接
4.4.3. 实验步骤
第七章:GPIO输出驱动有源蜂鸣器
1. 学习目的
2. 硬件电路设计
3. 软件设计
3.1. GPIO配置
3.2. 驱动蜂鸣器鸣响实验
3.2.1. 代码编写
3.2.2. 硬件连接
3.2.3. 实验步骤
第八章:GPIO输入按键检测
1. 学习目的
2. 硬件电路设计
2.1.1. 轻触按键
2.1.2. 触摸按键
2.1.3. 按键检测电路考虑因素
3. GPIO输入检测原理
4. 软件设计
4.1. GPIO配置
4.2. 库函数的应用
4.3. 轻触按键检测实验
4.3.1. 代码编写
4.3.2. 硬件连接
4.3.3. 实验步骤
4.4. 触摸按键检测实验
4.4.1. 代码编写
4.4.2. 硬件连接
4.4.3. 实验步骤
第九章:寄存器类型和外设资源共享
1. 学习目的
2. 寄存器类型
3. 外设资源共享
第十章:UART和UARTE
1. 学习目的
2. 硬件电路设计
3. UART原理
3.1. 功能描述
3.2. 配置引脚
3.3. UART发送
3.4. UART接收
3.5. UART挂起
3.6. 错误产生条件
3.7. 奇偶校验
4. UART寄存器
5. UARTE原理
5.1. 功能描述
5.2. UARTE发送
5.3. UARTE接收
6. UARTE寄存器
7. 软件设计
7.1. 库函数的应用
7.1.1. 串口初始化
7.1.2. 串口事件处理
7.1.3. 启用UARTE
7.1.4. 发送和接收数据
7.2. 串口数据收发实验
7.2.1. 添加需要的文件
7.2.2. 头文件引用和路径设置
7.2.3. 工程配置
7.2.4. 代码编写
7.2.5. 硬件连接
7.2.6. 实验步骤
7.3. 串口发送和接收事件实验
7.3.1. 代码编写
7.3.2. 硬件连接
7.3.3. 实验步骤
7.4. 串口控制LED指示灯实验
7.4.1. 代码编写
7.4.2. 硬件连接
7.4.3. 实验步骤
第十一章:GPIO任务和事件(GPIOTE)
1. 学习目的
2. GPIOTE原理
2.1. GPIOTE功能
2.2. 引脚任务和事件
2.3. PORT事件
3. GPIOTE寄存器
4. 软件设计
4.1. 库函数的应用
4.2. GPIOTE输出流程
4.3. GPIOTE输入流程
4.4. GPIOTE通道输出实验
4.4.1. 添加需要的文件
4.4.2. 头文件引用和路径设置
4.4.3. 工程配置
4.4.4. 代码编写
4.4.5. 硬件连接
4.4.6. 实验步骤
4.5. GPIOTE通道输入实验
4.5.1. 代码编写
4.5.2. 硬件连接
4.5.3. 实验步骤
4.6. GPIOTE PORT输入实验
4.6.1. 代码编写
4.6.2. 硬件连接
4.6.3. 实验步骤
第十二章:定时/计数器
1. 学习目的
2. TIMER原理
3. TIMER寄存器
4. 软件设计
4.1. 库函数的应用(定时器)
4.1.1. 定时器驱动程序实例
4.1.2. 定时器初始化
4.1.3. 配置定时时间和CC通道
4.1.4. 启动/关闭定时器
4.2. 库函数的应用(计数器)
4.2.1. 计数模式时的初始化
4.2.2. 计数
4.2.3. 读取计数值
4.3. 定时实验
4.3.1. 添加需要的文件
4.3.2. 头文件引用和路径设置
4.3.3. 工程配置
4.3.4. 代码编写
4.3.5. 硬件连接
4.3.6. 实验步骤
4.4. 计数实验
4.4.1. 代码编写
4.4.2. 硬件连接
4.4.3. 实验步骤
第十三章:可编程外设互联PPI
1. 学习目的
2. PPI原理
2.1. 什么是PPI
2.2. PPI原理框图
2.3. 预编程PPI通道
2.4. PPI组
3. PPI寄存器
4. 软件设计
4.1. 库函数的应用
4.1.1. 初始化PPI程序模块
4.1.2. 申请PPI通道
4.1.3. 配置PPI通道的EEP和TEP及次级任务
4.1.4. 使能PPI通道
4.1.5. 使用PPI通道组
4.2. PPI连接GPIOTE事件和任务实验
4.2.1. 添加需要的文件
4.2.2. 头文件引用和路径设置
4.2.3. 工程配置
4.2.4. 代码编写
4.2.5. 硬件连接
4.2.6. 实验步骤
4.3. PPI次级任务实验
4.3.1. 代码编写
4.3.2. 硬件连接
4.3.3. 实验步骤
4.4. PPI组实验
4.4.1. 代码编写
4.4.2. 硬件连接
4.4.3. 实验步骤
第十四章:非易失性存储器控制器NVMC
1. 学习目的
2. NVMC原理
3. NVMC寄存器
4. 软件设计
4.1. 库函数的应用(定时器)
4.1.1. 规划写入数据的Flash空间
4.1.2. 擦除页
4.1.3. 写
4.1.4. 读
4.2. Flash读写实验
4.2.1. 添加需要的文件
4.2.2. 头文件引用和路径设置
4.2.3. 代码编写
4.2.4. 硬件连接
4.2.5. 实验步骤
第十五章:看门狗定时器
1. 学习目的
2. 看门狗定时器原理
3. WDT寄存器
4. 软件设计
4.1. 库函数的应用
4.1.1. 看门狗定时器初始化
4.1.2. 申请喂狗通道
4.1.3. 启动看门狗
4.1.4. 喂狗
4.2. 看门狗实验
4.2.1. 添加需要的文件
4.2.2. 头文件引用和路径设置
4.2.3. 工程配置
4.2.4. 代码编写
4.2.5. 硬件连接
4.2.6. 实验步骤
第十六章:模数转换SAADC
1. 学习目的
2. SAADC原理
2.1. 主要特征
2.2. 工作模式
3. SAADC寄存器
4. 软件设计
4.1. 库函数的应用
4.1.1. 初始化SAADC
4.1.2. 配置SAADC通道
4.1.3. 配置缓存
4.1.4. 启动SAADC采样
4.2. 堵塞模式-单端输入采样实验
4.2.1. 添加需要的文件
4.2.2. 头文件引用和路径设置
4.2.3. 工程配置
4.2.4. 代码编写
4.2.5. 硬件连接
4.2.6. 实验步骤
4.3. 堵塞模式-差分输入采样实验
4.3.1. 代码编写
4.3.2. 硬件连接
4.3.3. 实验步骤
4.4. 非堵塞模式-双缓存采样实验
4.4.1. 代码编写
4.4.2. 硬件连接
4.4.3. 实验步骤
4.5. 电池电压采样实验
4.5.1. 代码编写
4.5.2. 硬件连接
4.5.3. 实验步骤
4.6. 门限监测实验
4.6.1. 代码编写
4.6.2. 硬件连接
4.6.3. 实验步骤
第十七章:片内温度传感器
1. 学习目的
2. TEMP原理
3. TEMP寄存器
4. 软件设计
4.1. 库函数的应用
4.2. 温度测量实验
4.2.1. 头文件引用和路径设置
4.2.2. 代码编写
4.2.3. 硬件连接
4.2.4. 实验步骤
第十八章:随机数发生器
1. 学习目的
2. RNG原理
3. RNG寄存器
4. 软件设计
4.1. 库函数的应用
4.2. 随机数生成实验
4.2.1. 添加需要的文件
4.2.2. 头文件引用和路径设置
4.2.3. 工程配置
4.2.4. 代码编写
4.2.5. 硬件连接
4.2.6. 实验步骤
第十九章:实时计数器RTC
1. 学习目的
2. RTC原理
2.1. 原理框图和时钟源
2.2. 计数器
2.3. RTC溢出
2.4. TICK事件
2.5. RTC事件控制
2.6. RTC比较事件
2.7. 读计数值(COUNTER寄存器)
3. RTC寄存器
4. 软件设计
4.1. 库函数的应用
4.1.1. 初始化RTC驱动程序实例
4.1.2. 使能TICK
4.1.3. 配置比较通道
4.1.4. 启动/停止RTC
4.2. TICK事件定时实验
4.2.1. 添加需要的文件
4.2.2. 头文件引用和路径设置
4.2.3. 工程配置
4.2.4. 代码编写
4.2.5. 硬件连接
4.2.6. 实验步骤
4.3. 比较事件定时实验
4.3.1. 代码编写
4.3.2. 硬件连接
4.3.3. 实验步骤
4.4. 溢出事件
4.4.1. 代码编写
4.4.2. 硬件连接
4.4.3. 实验步骤
第二十章:SysTick
1. 学习目的
2. SysTick概述
3. SysTick寄存器
4. 软件设计
4.1. 库函数的应用
4.2. SysTick定时闪烁指示灯试验
4.2.1. 添加需要的文件
4.2.2. 头文件引用和路径设置
4.2.3. 工程配置
4.2.4. 代码编写
4.2.5. 硬件连接
4.2.6. 试验步骤
第21章:SPI总线及其应用
1. 学习目的
2. SPI总线原理
2.1. 接口信号定义
2.2. SPI的4种工作模式
3. nRF52810的SPIM
3.1. EasyDMA
3.2. SPI主机事务序列
3.3. 低功耗
3.4. 引脚配置
4. SPIM寄存器
5. 软件设计
5.1. 库函数的应用
5.1.1. 定义SPI驱动程序实例
5.1.2. 配置是否使用EasyDMA
5.1.3. 初始化SPI
5.1.4. 数据传输
5.2. W25Q128FV读写(SPIM0非阻塞)实验
5.2.1. 添加需要的文件
5.2.2. 头文件引用和路径设置
5.2.3. 工程配置
5.2.4. 代码编写
5.2.5. 硬件连接
5.2.6. 实验步骤
5.3. W25Q128FV读写(SPIM0阻塞)实验
第二十二章:TWI(I2C)读/写MPU6050
1. 学习目的
2. I2C总线概述
2.1. 主要特征
2.2. I2C地址
2.3. I2C数据传输
2.4. ACK和NACK
2.5. 从机地址和R/W位
3. nRF52810 TWI特点
3.1. EasyDMA
3.2. 低功耗
3.3. 引脚配置
4. TWI寄存器
5. 硬件电路设计
6. 软件设计
6.1. 库函数的应用
6.1.1. 定义TWI驱动程序实例
6.1.2. 初始化TWI
6.1.3. 使能TWI
6.1.4. 数据传输
6.2. MPU6050原始数据读取(TWI0非阻塞)实验
6.2.1. 添加需要的文件
6.2.2. 头文件引用和路径设置
6.2.3. 工程配置
6.2.4. 代码编写
6.2.5. 硬件连接
6.2.6. 实验步骤
6.3. MPU6050原始数据读取(TWI0阻塞)实验
第二十三章:DHT11数字温湿度传感器
1. 学习目的
2. 硬件电路设计
2.1. 湿敏元件简介
2.2. DHT11数字温湿度传感器
2.3. DHT11接口电路
3. 软件设计
3.1. DHT11温湿度读取实验
3.1.1. 代码编写
3.1.2. 硬件连接
3.1.3. 实验步骤
参考文献
艾克姆科技 nRF52810 开发指南-上册 [基于 Nordic 蓝牙低功耗/2.4GHz Soc-nRF52810] 艾克姆科技飞宇团队 [2019.4.20] 官方店铺:https://acmemcu.taobao.com 官方论坛:http://930ebbs.com 艾克姆科技原创发布 本文档技术支持负责人:强光手电 [本文档以艾克姆科技 IK-52810DK 开发套件为硬件平台,通过原理分析和实验程序讲解 以及实验演示,让读者以最短的时间掌握 nRF52810 的外设功能和使用。文档从无到有, 一步步讲解各个实验的硬件原理、软件编程,从新建最简单的裸机工程开始到实现各个 外设(UART、GPIOTE、定时器等等)的应用,每个例子都会说明以哪个实验为基础修 改,需要增加哪些文件以及头文件引用和包含]
目录 第一章:开发板硬件描述 ............................................................................................................. 14 1. 功能特点 ................................................................................................................................. 14 2. 硬件原理 ................................................................................................................................. 15 nRF52810 特点 ....................................................................................................... 16 2.1. 电源 ......................................................................................................................... 17 2.2. 指示灯 ..................................................................................................................... 17 2.3. 轻触按键和触摸按键 ............................................................................................. 17 2.4. 蜂鸣器 ..................................................................................................................... 19 2.5. 电位器检测 ............................................................................................................. 19 2.6. 红外接收 ................................................................................................................. 20 2.7. USB 转 UART ........................................................................................................ 21 2.8. I2S 音频模块接口(仅 nRF52832) .................................................................... 21 2.9. 2.10. 显示模块接口 ......................................................................................................... 21 2.11. Wifi 模块 ................................................................................................................ 22 NFC 天线接口(仅 nRF52832) .......................................................................... 23 2.12. 2.13. 温湿度和 PM2.5 检测模块接口 ............................................................................ 23 2.14. 运动传感器模块接口 ............................................................................................. 23 TF 卡座 ................................................................................................................... 24 2.15. 2.16. 调试接口 ................................................................................................................. 24 3. 开发板硬件连接 ..................................................................................................................... 25 第二章:开发工具 ......................................................................................................................... 27 1. 硬件设备 ................................................................................................................................. 27 2. 软件工具 ................................................................................................................................. 27 第三章:搭建开发环境 ................................................................................................................. 28 1. 需要的工具软件 ..................................................................................................................... 28 2. 搭建开发环境 ......................................................................................................................... 28 安装串口驱动 ......................................................................................................... 28 安装 MDK5.23 ....................................................................................................... 29 Keil μVision 简介 ........................................................................................... 29 2.2.1. 2.2.2. MDK5.23 安装步骤 ....................................................................................... 29 安装 pack ................................................................................................................ 33 安装 nRF5x-Command-Line-Tools ........................................................................ 35 更新 JLINK 固件和“JLinkARM.dll” ................................................................... 38 手机端 APP 安装 ................................................................................................... 40 第四章:新建和配置裸机工程 ..................................................................................................... 41 1. SDK 库简介 ............................................................................................................................ 41 2. 新建和配置工程 ..................................................................................................................... 43 新建工程模板 ......................................................................................................... 43 2.1.1. 规划工程目录 ................................................................................................. 43 2.1.2. 建立目录、拷贝库文件 ................................................................................. 44 2.1.3. 新建工程 ......................................................................................................... 44 2.1.4. 添加需要的组件 ............................................................................................. 49 配置工程 ................................................................................................................. 52 2.3. 2.4. 2.5. 2.6. 2.1. 2.2. 2.1. 2.2.
2.3. 2.4. 2.5. 2.6. 2.2.1. 配置“Target”选项卡 ................................................................................... 52 2.2.2. 配置“Output”选项卡 .................................................................................. 53 2.2.3. 配置“C/C++”选项卡 .................................................................................. 53 2.2.4. 配置“Debug”选项卡 .................................................................................. 56 编写驱动 LED 代码 ............................................................................................... 57 2.3.1. 新建 main.c 文件并添加到工程。 ................................................................ 57 2.3.2. 引用头文件 ..................................................................................................... 58 2.3.3. 编写代码 ......................................................................................................... 58 编译工程 ................................................................................................................. 59 程序烧写 ................................................................................................................. 60 MDK 常用操作 ...................................................................................................... 60 第五章:程序下载 ......................................................................................................................... 64 1. 下载方式概述 ......................................................................................................................... 64 2. 方式 1:MDK 直接下载 ....................................................................................................... 64 下载裸机程序 ......................................................................................................... 64 下载 BLE 程序 ....................................................................................................... 65 2.2.1. 下载协议栈 ..................................................................................................... 65 2.2.2. 下载应用程序 ................................................................................................. 66 2.2.3. 全片擦除芯片 ................................................................................................. 67 本节常见问题 ......................................................................................................... 67 3. 方式 2:使用 J-Flash 下载 .................................................................................................... 69 J-Flash 简介 ............................................................................................................ 69 使用 J-Flash ............................................................................................................ 70 3.2.1. 启动 J-Flash .................................................................................................... 70 3.2.2. 配置工程 ......................................................................................................... 70 3.2.3. 擦除芯片 ......................................................................................................... 72 3.2.4. 烧写和运行程序 ............................................................................................. 72 3.2.5. 关闭 J-Flash .................................................................................................... 72 第六章:GPIO 输出驱动 LED ...................................................................................................... 73 1. 学习目的 ................................................................................................................................. 73 2. 硬件电路设计 ......................................................................................................................... 73 控制方式 ................................................................................................................. 74 LED 限流电阻的选取 ............................................................................................ 75 3. GPIO 输出驱动原理 .............................................................................................................. 76 功能描述 ................................................................................................................. 76 引脚的驱动能力 ..................................................................................................... 77 GPIO 应用注意事项 .............................................................................................. 78 4. 软件设计 ................................................................................................................................. 79 GPIO 配置 .............................................................................................................. 79 库函数的应用 ......................................................................................................... 83 驱动 LED 闪烁 ....................................................................................................... 86 4.3.1. 代码编写 ......................................................................................................... 87 4.3.2. 硬件连接 ......................................................................................................... 87 4.3.3. 实验步骤 ......................................................................................................... 88 3.1. 3.2. 3.3. 4.1. 4.2. 4.3. 2.1. 2.2. 2.3. 3.1. 3.2. 2.1. 2.2.
4.4. 4.1. 4.2. 4.3. 4.4. 3.1. 3.2. 实现流水灯 ............................................................................................................. 88 4.4.1. 代码编写 ......................................................................................................... 88 4.4.2. 硬件连接 ......................................................................................................... 92 4.4.3. 实验步骤 ......................................................................................................... 92 第七章:GPIO 输出驱动有源蜂鸣器 .......................................................................................... 93 1. 学习目的 ................................................................................................................................. 93 2. 硬件电路设计 ......................................................................................................................... 93 3. 软件设计 ................................................................................................................................. 94 GPIO 配置 .............................................................................................................. 94 驱动蜂鸣器鸣响实验 ............................................................................................. 94 3.2.1. 代码编写 ......................................................................................................... 94 3.2.2. 硬件连接 ......................................................................................................... 95 3.2.3. 实验步骤 ......................................................................................................... 95 第八章:GPIO 输入按键检测 ...................................................................................................... 97 1. 学习目的 ................................................................................................................................. 97 2. 硬件电路设计 ......................................................................................................................... 97 2.1.1. 轻触按键 ......................................................................................................... 97 2.1.2. 触摸按键 ......................................................................................................... 98 2.1.3. 按键检测电路考虑因素 ................................................................................. 99 3. GPIO 输入检测原理 ............................................................................................................ 100 4. 软件设计 ............................................................................................................................... 101 GPIO 配置 ............................................................................................................ 101 库函数的应用 ....................................................................................................... 102 轻触按键检测实验 ............................................................................................... 105 4.3.1. 代码编写 ....................................................................................................... 105 4.3.2. 硬件连接 ....................................................................................................... 107 4.3.3. 实验步骤 ....................................................................................................... 108 触摸按键检测实验 ............................................................................................... 108 4.4.1. 代码编写 ....................................................................................................... 108 4.4.2. 硬件连接 ....................................................................................................... 109 4.4.3. 实验步骤 ....................................................................................................... 110 第九章:寄存器类型和外设资源共享 ....................................................................................... 111 1. 学习目的 ............................................................................................................................... 111 2. 寄存器类型 ........................................................................................................................... 111 3. 外设资源共享 ....................................................................................................................... 112 第十章:UART 和 UARTE ......................................................................................................... 114 1. 学习目的 ............................................................................................................................... 114 2. 硬件电路设计 ....................................................................................................................... 114 3. UART 原理 ........................................................................................................................... 115 功能描述 ............................................................................................................... 115 配置引脚 ............................................................................................................... 116 UART 发送 ........................................................................................................... 116 UART 接收 ........................................................................................................... 117 UART 挂起 ........................................................................................................... 118 3.1. 3.2. 3.3. 3.4. 3.5.
3.6. 3.7. 5.1. 5.2. 5.3. 7.1. 7.2. 错误产生条件 ....................................................................................................... 118 奇偶校验 ............................................................................................................... 118 4. UART 寄存器 ....................................................................................................................... 118 5. UARTE 原理......................................................................................................................... 124 功能描述 ............................................................................................................... 124 UARTE 发送 ......................................................................................................... 125 UARTE 接收 ......................................................................................................... 126 6. UARTE 寄存器..................................................................................................................... 126 7. 软件设计 ............................................................................................................................... 131 库函数的应用 ....................................................................................................... 131 7.1.1. 串口初始化 ................................................................................................... 131 7.1.2. 串口事件处理 ............................................................................................... 133 7.1.3. 启用 UARTE ................................................................................................. 134 7.1.4. 发送和接收数据 ........................................................................................... 134 串口数据收发实验 ............................................................................................... 135 7.2.1. 添加需要的文件 ........................................................................................... 135 7.2.2. 头文件引用和路径设置 ............................................................................... 136 7.2.3. 工程配置 ....................................................................................................... 137 7.2.4. 代码编写 ....................................................................................................... 137 7.2.5. 硬件连接 ....................................................................................................... 139 7.2.6. 实验步骤 ....................................................................................................... 140 串口发送和接收事件实验 ................................................................................... 140 7.3.1. 代码编写 ....................................................................................................... 141 7.3.2. 硬件连接 ....................................................................................................... 142 7.3.3. 实验步骤 ....................................................................................................... 142 串口控制 LED 指示灯实验 ................................................................................. 142 7.4.1. 代码编写 ....................................................................................................... 142 7.4.2. 硬件连接 ....................................................................................................... 144 7.4.3. 实验步骤 ....................................................................................................... 144 第十一章:GPIO 任务和事件(GPIOTE) .................................................................................... 145 1. 学习目的 ............................................................................................................................... 145 2. GPIOTE 原理 ....................................................................................................................... 145 GPIOTE 功能 ....................................................................................................... 145 引脚任务和事件 ................................................................................................... 146 PORT 事件 ............................................................................................................ 146 3. GPIOTE 寄存器 ................................................................................................................... 147 4. 软件设计 ............................................................................................................................... 152 库函数的应用 ....................................................................................................... 152 GPIOTE 输出流程................................................................................................ 153 GPIOTE 输入流程................................................................................................ 157 GPIOTE 通道输出实验 ........................................................................................ 159 4.4.1. 添加需要的文件 ........................................................................................... 160 4.4.2. 头文件引用和路径设置 ............................................................................... 160 4.4.3. 工程配置 ....................................................................................................... 161 4.1. 4.2. 4.3. 4.4. 2.1. 2.2. 2.3. 7.3. 7.4.
4.5. 4.6. 4.4.4. 代码编写 ....................................................................................................... 161 4.4.5. 硬件连接 ....................................................................................................... 162 4.4.6. 实验步骤 ....................................................................................................... 163 GPIOTE 通道输入实验 ........................................................................................ 163 4.5.1. 代码编写 ....................................................................................................... 163 4.5.2. 硬件连接 ....................................................................................................... 165 4.5.3. 实验步骤 ....................................................................................................... 165 GPIOTE PORT 输入实验 ..................................................................................... 166 4.6.1. 代码编写 ....................................................................................................... 166 4.6.2. 硬件连接 ....................................................................................................... 170 4.6.3. 实验步骤 ....................................................................................................... 170 第十二章:定时/计数器 .............................................................................................................. 171 1. 学习目的 ............................................................................................................................... 171 2. TIMER 原理 ......................................................................................................................... 171 3. TIMER 寄存器 ..................................................................................................................... 174 4. 软件设计 ............................................................................................................................... 179 库函数的应用(定时器) ........................................................................................ 179 4.1.1. 定时器驱动程序实例 ................................................................................... 180 4.1.2. 定时器初始化 ............................................................................................... 181 4.1.3. 配置定时时间和 CC 通道............................................................................ 184 4.1.4. 启动/关闭定时器 .......................................................................................... 187 库函数的应用(计数器) ........................................................................................ 188 4.2.1. 计数模式时的初始化 ................................................................................... 188 4.2.2. 计数 ............................................................................................................... 189 4.2.3. 读取计数值 ................................................................................................... 189 定时实验 ............................................................................................................... 190 4.3.1. 添加需要的文件 ........................................................................................... 190 4.3.2. 头文件引用和路径设置 ............................................................................... 191 4.3.3. 工程配置 ....................................................................................................... 191 4.3.4. 代码编写 ....................................................................................................... 192 4.3.5. 硬件连接 ....................................................................................................... 194 4.3.6. 实验步骤 ....................................................................................................... 194 计数实验 ............................................................................................................... 195 4.4.1. 代码编写 ....................................................................................................... 195 4.4.2. 硬件连接 ....................................................................................................... 196 4.4.3. 实验步骤 ....................................................................................................... 196 第十三章:可编程外设互联 PPI ................................................................................................ 198 1. 学习目的 ............................................................................................................................... 198 2. PPI 原理 ................................................................................................................................ 198 什么是 PPI ............................................................................................................ 198 PPI 原理框图 ........................................................................................................ 199 预编程 PPI 通道 ................................................................................................... 200 PPI 组 .................................................................................................................... 200 3. PPI 寄存器 ............................................................................................................................ 201 2.1. 2.2. 2.3. 2.4. 4.2. 4.1. 4.3. 4.4.
4.1. 4.2. 4.3. 4.4. 4. 软件设计 ............................................................................................................................... 203 库函数的应用 ....................................................................................................... 203 4.1.1. 初始化 PPI 程序模块 ................................................................................... 204 4.1.2. 申请 PPI 通道 ............................................................................................... 204 4.1.3. 配置 PPI 通道的 EEP 和 TEP 及次级任务 ................................................. 205 4.1.4. 使能 PPI 通道 ............................................................................................... 207 4.1.5. 使用 PPI 通道组 ........................................................................................... 208 PPI 连接 GPIOTE 事件和任务实验 .................................................................... 210 4.2.1. 添加需要的文件 ........................................................................................... 210 4.2.2. 头文件引用和路径设置 ............................................................................... 210 4.2.3. 工程配置 ....................................................................................................... 211 4.2.4. 代码编写 ....................................................................................................... 212 4.2.5. 硬件连接 ....................................................................................................... 213 4.2.6. 实验步骤 ....................................................................................................... 214 PPI 次级任务实验 ................................................................................................ 215 4.3.1. 代码编写 ....................................................................................................... 215 4.3.2. 硬件连接 ....................................................................................................... 216 4.3.3. 实验步骤 ....................................................................................................... 216 PPI 组实验 ............................................................................................................ 217 4.4.1. 代码编写 ....................................................................................................... 217 4.4.2. 硬件连接 ....................................................................................................... 219 4.4.3. 实验步骤 ....................................................................................................... 219 第十四章:非易失性存储器控制器 NVMC .............................................................................. 221 1. 学习目的 ............................................................................................................................... 221 2. NVMC 原理 .......................................................................................................................... 221 3. NVMC 寄存器 ...................................................................................................................... 223 4. 软件设计 ............................................................................................................................... 225 库函数的应用(定时器) ........................................................................................ 225 4.1.1. 规划写入数据的 Flash 空间 ........................................................................ 226 4.1.2. 擦除页 ........................................................................................................... 226 4.1.3. 写 ................................................................................................................... 226 4.1.4. 读 ................................................................................................................... 227 Flash 读写实验 ..................................................................................................... 227 4.2.1. 添加需要的文件 ........................................................................................... 227 4.2.2. 头文件引用和路径设置 ............................................................................... 227 4.2.3. 代码编写 ....................................................................................................... 228 4.2.4. 硬件连接 ....................................................................................................... 229 4.2.5. 实验步骤 ....................................................................................................... 230 第十五章:看门狗定时器 ........................................................................................................... 231 1. 学习目的 ............................................................................................................................... 231 2. 看门狗定时器原理 ............................................................................................................... 231 3. WDT 寄存器 ........................................................................................................................ 232 4. 软件设计 ............................................................................................................................... 235 库函数的应用 ....................................................................................................... 235 4.1. 4.1. 4.2.
4.2. 4.1. 2.1. 2.2. 4.1.1. 看门狗定时器初始化 ................................................................................... 235 4.1.2. 申请喂狗通道 ............................................................................................... 237 4.1.3. 启动看门狗 ................................................................................................... 238 4.1.4. 喂狗 ............................................................................................................... 238 看门狗实验 ........................................................................................................... 238 4.2.1. 添加需要的文件 ........................................................................................... 239 4.2.2. 头文件引用和路径设置 ............................................................................... 239 4.2.3. 工程配置 ....................................................................................................... 240 4.2.4. 代码编写 ....................................................................................................... 240 4.2.5. 硬件连接 ....................................................................................................... 242 4.2.6. 实验步骤 ....................................................................................................... 243 第十六章:模数转换 SAADC .................................................................................................... 244 1. 学习目的 ............................................................................................................................... 244 2. SAADC 原理 ........................................................................................................................ 244 主要特征 ............................................................................................................... 244 工作模式 ............................................................................................................... 246 3. SAADC 寄存器 .................................................................................................................... 247 4. 软件设计 ............................................................................................................................... 258 库函数的应用 ....................................................................................................... 258 4.1.1. 初始化 SAADC ............................................................................................ 259 4.1.2. 配置 SAADC 通道 ....................................................................................... 261 4.1.3. 配置缓存 ....................................................................................................... 264 4.1.4. 启动 SAADC 采样 ....................................................................................... 267 堵塞模式-单端输入采样实验 ............................................................................. 267 4.2.1. 添加需要的文件 ........................................................................................... 268 4.2.2. 头文件引用和路径设置 ............................................................................... 268 4.2.3. 工程配置 ....................................................................................................... 269 4.2.4. 代码编写 ....................................................................................................... 269 4.2.5. 硬件连接 ....................................................................................................... 271 4.2.6. 实验步骤 ....................................................................................................... 271 堵塞模式-差分输入采样实验 ............................................................................. 272 4.3.1. 代码编写 ....................................................................................................... 272 4.3.2. 硬件连接 ....................................................................................................... 273 4.3.3. 实验步骤 ....................................................................................................... 273 非堵塞模式-双缓存采样实验 ............................................................................. 273 4.4.1. 代码编写 ....................................................................................................... 273 4.4.2. 硬件连接 ....................................................................................................... 276 4.4.3. 实验步骤 ....................................................................................................... 276 电池电压采样实验 ............................................................................................... 277 4.5.1. 代码编写 ....................................................................................................... 277 4.5.2. 硬件连接 ....................................................................................................... 278 4.5.3. 实验步骤 ....................................................................................................... 278 门限监测实验 ....................................................................................................... 278 4.6.1. 代码编写 ....................................................................................................... 279 4.2. 4.3. 4.4. 4.5. 4.6.
分享到:
收藏