第一篇nRF52系列處理器初步篇
第1章藍(lán)牙5.0芯片nRF52系列開發(fā)緒論2
1.1芯片選型2
1.2開發(fā)工具的購(gòu)買與選取3
1.3硬件電路設(shè)計(jì)5
1.3.1電路圖設(shè)計(jì)和PCB繪制5
1.3.2藍(lán)牙射頻硬件配置5
1.3.3焊接加工5
1.4軟件與功能開發(fā)6
1.4.1資料搜集學(xué)習(xí)6
1.4.2勘誤表6
1.4.3實(shí)例開發(fā)7
1.5性能測(cè)試10
1.5.1RF測(cè)試10
1.5.2功耗測(cè)試11
1.5.3認(rèn)證(可選)11
第2章藍(lán)牙工程包SDK詳解13
2.1SDK15.0開發(fā)包的基本結(jié)構(gòu)13
2.1.1components文件包14
2.1.2config文件包15
2.1.3documentation文件包16
2.1.4examples文件包16
2.1.5external文件包和external_tools文件包18
2.1.6integration文件包和modules文件包19
2.2開發(fā)包外設(shè)硬件實(shí)例和藍(lán)牙實(shí)例說(shuō)明19
2.2.1外設(shè)硬件實(shí)例說(shuō)明19
2.2.2藍(lán)牙實(shí)例說(shuō)明21
第3章開發(fā)環(huán)境Keil的使用及工程建立22
3.1開發(fā)環(huán)境Keil5簡(jiǎn)介22
3.2綜合開發(fā)工具nRFgoStudio26
3.2.1nRFgoStudio工作界面介紹26
3.2.2nRFgoStudio使用簡(jiǎn)介28
3.3工程項(xiàng)目的建立30
3.4工程項(xiàng)目的仿真與調(diào)試40
3.4.1仿真工具的選擇與設(shè)置40
3.4.2項(xiàng)目仿真錯(cuò)誤定位42
第二篇藍(lán)牙硬件篇
第4章nRF52832開發(fā)板硬件介紹50
4.1青云nRF52832EK主板介紹及電路詳解50
4.1.1青云nRF52832EK主板介紹50
4.1.2青云nRF52832EK電路詳解52
4.2配套模塊電路詳解59
4.2.1OLED顯示模塊60
4.2.2LIS3DH三軸加速度計(jì)模塊61
4.2.3MPU6050六軸模塊63
4.2.4DHT11溫濕度模塊64
第5章GPIO端口的應(yīng)用65
5.1GPIO端口資源介紹65
5.2GPIO寄存器介紹67
5.3GPIO輸出應(yīng)用75
5.3.1點(diǎn)亮第一個(gè)LED燈75
5.3.2蜂鳴器的驅(qū)動(dòng)78
5.4GPIO輸入應(yīng)用81
5.4.1GPIO輸入掃描流程81
5.4.2機(jī)械按鍵輸入掃描83
5.4.3電容觸摸按鍵的應(yīng)用86
第6章GPIOTE與外部中斷89
6.1GPIOTE原理分析89
6.2GPIOTE輸入事件的應(yīng)用94
6.2.1GPIOTE事件寄存器的應(yīng)用94
6.2.2GPIOTE事件組件的應(yīng)用97
6.3GPIOTEPORT事件的應(yīng)用101
6.4GPIOTE任務(wù)的應(yīng)用105
6.4.1GPIOTE任務(wù)觸發(fā)LED燈105
6.4.2組件方式的任務(wù)配置107
第7章串口UART和UARTE外設(shè)的應(yīng)用110
7.1UART和UARTE原理110
7.1.1UART功能描述110
7.1.2UARTE功能介紹112
7.2應(yīng)用實(shí)例編程115
7.2.1串口printf輸出115
7.2.2串口輸入與回環(huán)122
7.2.3UARTE模式串口中斷124
第8章唯一ID與加密解密131
8.1唯一ID的概念131
8.1.1唯一ID的作用131
8.1.2讀取唯一ID131
8.2唯一ID用于加密133
8.2.1TEA加密算法133
8.2.2唯一ID的加密與解密134
第9章內(nèi)部溫度傳感器與隨機(jī)數(shù)發(fā)生器138
9.1內(nèi)部溫度傳感器138
9.1.1內(nèi)部溫度傳感器寄存器138
9.1.2內(nèi)部溫度傳感器的電氣特性140
9.1.3內(nèi)部溫度傳感器庫(kù)函數(shù)編程141
9.2隨機(jī)數(shù)發(fā)生器144
9.2.1隨機(jī)數(shù)發(fā)生器原理144
9.2.2隨機(jī)數(shù)發(fā)生器寄存器145
9.2.3隨機(jī)數(shù)發(fā)生器庫(kù)函數(shù)編程146
第10章定時(shí)器TIMER156
10.1原理分析156
10.2定時(shí)器定時(shí)功能159
10.2.1定時(shí)器寄存器編程159
10.2.2定時(shí)器組件的應(yīng)用163
10.3定時(shí)器計(jì)數(shù)功能172
10.3.1計(jì)數(shù)器寄存器編程172
10.3.2計(jì)數(shù)器組件庫(kù)編程174
第11章PPI模塊的使用178
11.1原理分析178
11.1.1PPI的結(jié)構(gòu)178
11.1.2fork從任務(wù)機(jī)制180
11.1.3group分組機(jī)制180
11.2PPI之GPIOTE的應(yīng)用180
11.2.1寄存器編程180
11.2.2組件庫(kù)函數(shù)介紹184
11.2.3組件庫(kù)函數(shù)編程185
11.3fork從任務(wù)的應(yīng)用189
11.3.1PPIfork從任務(wù)寄存器的應(yīng)用189
11.3.2PPIfork從任務(wù)組件庫(kù)的實(shí)現(xiàn)191
11.4PPI之group分組的應(yīng)用193
11.4.1PPIgroup分組原理及寄存器的應(yīng)用193
11.4.2PPIgroup組件庫(kù)函數(shù)介紹197
11.4.3組件庫(kù)工程編程198
第12章定時(shí)器和PPI的聯(lián)合應(yīng)用202
12.1PPI之定時(shí)器計(jì)數(shù)202
12.1.1PPI定時(shí)器計(jì)數(shù)寄存器編程202
12.1.2PPI定時(shí)器計(jì)數(shù)器庫(kù)函數(shù)編程206
12.2定時(shí)器與PPI之軟件PWM211
12.2.1軟件PWM寄存器方式211
12.2.2軟件PWM組件庫(kù)編程215
12.3PPI之輸入捕獲220
12.3.1原理分析220
12.3.2應(yīng)用實(shí)例編程222
第13章RTC實(shí)時(shí)計(jì)數(shù)器226
13.1原理分析226
13.1.1RTC的內(nèi)部結(jié)構(gòu)226
13.1.2RTC的事件227
13.2TICK事件與比較事件的應(yīng)用231
13.3RTC組件庫(kù)的使用238
13.3.1RTC組件庫(kù)函數(shù)工程的搭建238
13.3.2RTC組件庫(kù)函數(shù)API介紹240
13.3.3RTC組件庫(kù)編程242
13.4RTC溢出事件246
13.4.1溢出事件寄存器的應(yīng)用246
13.4.2組件庫(kù)下溢出事件的應(yīng)用248
第14章看門狗250
14.1原理分析250
14.1.1看門狗的作用250
14.1.2看門狗的運(yùn)行250
14.2看門狗寄存器編程252
14.2.1看門狗寄存器介紹252
14.2.2看門狗寄存器的配置255
14.3看門狗庫(kù)函數(shù)編程257
14.3.1看門狗庫(kù)函數(shù)API介紹257
14.3.2看門狗庫(kù)函數(shù)的配置259
第15章SAADC采集264
15.1SAADC原理分析264
15.1.1SAADC屬性參數(shù)264
15.1.2工作模式267
15.2SAADC寄存器介紹268
15.3應(yīng)用實(shí)例編寫277
15.3.1ADC的單次采樣277
15.3.2ADC的差分采樣283
15.3.3EasyDMA的單緩沖中斷采樣285
15.3.4PPI啟動(dòng)雙緩沖中斷采樣292
第16章PWM298
16.1PWM的基本原理298
16.1.1PWM模塊的特征298
16.1.2PWM的計(jì)數(shù)模式298
16.1.3PWM的周期和占空比控制299
16.1.4EasyDMA解碼器302
16.2PWM寄存器編程303
16.2.1PWM寄存器介紹303
16.2.2PWM寄存器向上計(jì)數(shù)方式編程311
16.2.3PWM寄存器向上向下計(jì)數(shù)方式編程313
16.3組件庫(kù)函數(shù)編程314
16.4共用加載模式318
16.4.1簡(jiǎn)單回放318
16.4.2復(fù)雜回放321
16.4.3不重啟回放324
16.5獨(dú)立加載模式325
16.5.1非回調(diào)獨(dú)立加載模式325
16.5.2中斷回調(diào)獨(dú)立加載模式327
16.6分組加載模式331
16.7波形加載模式333
16.8多序列復(fù)合驅(qū)動(dòng)336
第17章I2C/TWI讀/寫應(yīng)用340
17.1I2C/TWI總線原理分析340
17.1.1I2C/TWI基本概念340
17.1.2nRF52處理器I2C/TWI資源343
17.1.3I2C/TWI寄存器346
17.2I2C編程實(shí)例——驅(qū)動(dòng)MPU6050353
17.2.1I2C/TWI組件庫(kù)介紹353
17.2.2MPU6050介紹356
17.2.3I2C驅(qū)動(dòng)MPU6050編程359
17.2.4堵塞模式和非堵塞模式366
17.2.5下載測(cè)試366
第18章SPI接口的應(yīng)用368
18.1SPI總線介紹368
18.2nRF52832處理器SPI特點(diǎn)370
18.2.1SPI模塊資源370
18.2.2SPI主機(jī)EasyDMA371
18.2.3低功耗372
18.2.4主模式引腳配置372
18.3SPI接口寄存器373
18.4SPI讀/寫W25Q16379
18.4.1硬件準(zhǔn)備379
18.4.2SPI組件庫(kù)介紹379
18.4.3應(yīng)用實(shí)例編程382
18.4.4堵塞模式和非堵塞模式391
18.4.5實(shí)驗(yàn)現(xiàn)象391
第三篇外設(shè)應(yīng)用綜合篇
第19章外設(shè)綜合實(shí)例394
19.1綜合實(shí)例實(shí)現(xiàn)目標(biāo)394
19.2時(shí)鐘設(shè)計(jì)395
19.2.1RTC定時(shí)時(shí)鐘395
19.2.2時(shí)鐘初始化配置398
19.2.3OLED時(shí)鐘顯示及刷新401
19.3電池電量采集設(shè)計(jì)402
19.3.1SAADC初始化與PPI觸發(fā)采集402
19.3.2電池電量OLED顯示403
19.4工程搭建與程序測(cè)試404
19.4.1工程搭建404
19.4.2程序測(cè)試406
參考文獻(xiàn)408