第一篇nRF52系列處理器初步篇
第1章藍(lán)牙5.0芯片nRF52系列開發(fā)緒論2
1.1芯片選型2
1.2開發(fā)工具的購買與選取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性能測試10
1.5.1RF測試10
1.5.2功耗測試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í)例說明19
2.2.1外設(shè)硬件實(shí)例說明19
2.2.2藍(lán)牙實(shí)例說明21
第3章開發(fā)環(huán)境Keil的使用及工程建立22
3.1開發(fā)環(huán)境Keil5簡介22
3.2綜合開發(fā)工具nRFgoStudio26
3.2.1nRFgoStudio工作界面介紹26
3.2.2nRFgoStudio使用簡介28
3.3工程項(xiàng)目的建立30
3.4工程項(xiàng)目的仿真與調(diào)試40
3.4.1仿真工具的選擇與設(shè)置40
3.4.2項(xiàng)目仿真錯誤定位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)亮第一個LED燈75
5.3.2蜂鳴器的驅(qū)動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)部溫度傳感器庫函數(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ā)生器庫函數(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ù)器組件庫編程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組件庫函數(shù)介紹184
11.2.3組件庫函數(shù)編程185
11.3fork從任務(wù)的應(yīng)用189
11.3.1PPIfork從任務(wù)寄存器的應(yīng)用189
11.3.2PPIfork從任務(wù)組件庫的實(shí)現(xiàn)191
11.4PPI之group分組的應(yīng)用193
11.4.1PPIgroup分組原理及寄存器的應(yīng)用193
11.4.2PPIgroup組件庫函數(shù)介紹197
11.4.3組件庫工程編程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ù)器庫函數(shù)編程206
12.2定時(shí)器與PPI之軟件PWM211
12.2.1軟件PWM寄存器方式211
12.2.2軟件PWM組件庫編程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組件庫的使用238
13.3.1RTC組件庫函數(shù)工程的搭建238
13.3.2RTC組件庫函數(shù)API介紹240
13.3.3RTC組件庫編程242
13.4RTC溢出事件246
13.4.1溢出事件寄存器的應(yīng)用246
13.4.2組件庫下溢出事件的應(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看門狗庫函數(shù)編程257
14.3.1看門狗庫函數(shù)API介紹257
14.3.2看門狗庫函數(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啟動雙緩沖中斷采樣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組件庫函數(shù)編程314
16.4共用加載模式318
16.4.1簡單回放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ū)動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ū)動MPU6050353
17.2.1I2C/TWI組件庫介紹353
17.2.2MPU6050介紹356
17.2.3I2C驅(qū)動MPU6050編程359
17.2.4堵塞模式和非堵塞模式366
17.2.5下載測試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組件庫介紹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工程搭建與程序測試404
19.4.1工程搭建404
19.4.2程序測試406
參考文獻(xiàn)408