艾克姆科技 
 
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.