嵌入式系統開發與實踐--基於STM32F10x系列(第2版)
內容描述
本書從實戰角度出發,從基礎開始,以設計案例為主線,基於旺寶紅龍103型開發板,結合代碼分析,
詳細介紹了基於Cortex-M3內核的STM32處理器的全部設計過程,
包括STM32處理器的基本性能參數、硬體電路設計及針對性很強的整體專案方案的剖析。
讀者只需要跟著作者的思路,就能完全掌握STM32的開發和設計,可以獨立完成專案。
本書是再版書,相比第1版,本書對舊版的不足進行了修正。
目錄大綱
目錄
第1章嵌入式系統概述11.1嵌入式系統簡介 1
1.2嵌入式系統微處理器4
1.3ARM系列嵌入式微處理器7
1.4嵌入式作業系統10
1.5本章小結14
第2章STM32F10x微處理器的組成及程式設計模式152.1為什麼選擇STM32F10x微處理器15
2.2STM32F10x開發工具介紹16
2.3MDK在STM32F10x處理器上的使用18
2.3.1MDK的安裝18
2.3.2實例:工程的建立和配置22
2.3.3使用MDK進行STM32的程式開發24
第3章ARM CortexM3基礎知識30
3.1ARMCortexM3寄存器組30
3.2ARMCortexM3指令集35
3.3ARMCortexM3的記憶體系統52
3.4ARMCortexM3使用異常系統62
3.5ARMCortexM3調試系統70
第4章ARM7應用程式移植到CortexM3處理器80
4.1應用簡介80
4.2系統性質80
4.3彙編來源程式82
4.4C來源程式84
第5章STM32F10x的開發86
5.1選擇一款CortexM3產品86
5.2CortexM3版本0與版本1的區別86
5.3開發工具88
5.4庫函數89
5.5STM32固件庫簡介90
5.6紅龍開發板簡介90
5.7開發板介面簡介92
第6章通用I/O(GPIO)94
6.1概述94
6.2可選擇的埠功能94
6.3相關寄存器96
6.4典型硬體電路設計97
6.5常式原始程式碼分析98
第7章EXTI中斷系統理論與實戰1107.1STM32中斷系統的簡介110
7.2嵌套向量中斷控制器114
7.3外部中斷/事件控制器116
7.4EXTI寄存器描述117
7.5典型硬體電路設計120
7.6常式原始程式碼分析121
第8章RTC即時時鐘理論與實戰1338.1RTC即時時鐘的功能133
8.2RTC相關寄存器介紹134
8.3典型硬體電路設計138
8.4常式原始程式碼分析138
第9章通用計時器148
9.1概述148
9.2時基單元介紹150
9.3相關寄存器介紹151
9.4典型硬體電路設計152
9.5常式原始程式碼分析152
第10章計時器外部脈衝計數16210.1TIMx外部脈衝計數功能簡介162
10.2典型硬體電路設計163
10.3常式源碼分析164
第11章PWM理論與實戰17011.1概述170
11.2PWM輸出的工作原理170
11.3PWM輸出信號的頻率和占空比172
11.4相關寄存器173
11.5典型硬體電路設計174
11.6常式原始程式碼分析175
第12章通用同步/非同步收發器(USART)18312.1概述183
12.2USART操作186
12.3USART特殊功能寄存器186
12.4典型硬體電路設計187
12.5常式原始程式碼分析188
第13章RS485通信196
13.1概述196
13.2SP3485晶片簡介197
13.3典型硬體電路設計198
13.4常式源碼分析199
第14章DMA實驗204
14.1概述204
14.2DMA的工作原理及結構205
14.3相關寄存器簡介208
14.4典型硬體電路設計209
14.5常式源碼分析209
第15章窗口看門狗219
15.1概述219
15.2視窗看門狗的工作原理220
15.3相關寄存器介紹221
15.4典型硬體電路設計223
15.5常式源碼分析223
第16章ADC轉換231
16.1ADC轉換原理231
16.2ADC控制寄存器介紹238
16.3典型硬體電路設計240
16.4常式原始程式碼分析240
第17章DAC實驗251
17.1概述251
17.2STM32DAC的功能252
17.3相關寄存器簡介255
17.4典型硬體電路設計255
17.5常式源碼分析256
第18章I2C匯流排設備264
18.1概述264
18.2I2C匯流排工作原理266
18.3相關寄存器269
18.4典型硬體電路設計271
18.5常式原始程式碼分析271
第19章CAN匯流排291
19.1概述291
19.2STM32CAN匯流排的特點294
19.3STM32bxCAN的功能295
19.4相關寄存器簡介298
19.5典型硬體電路設計298
19.6常式源碼分析299
第20章STM32的系統時鐘317
20.1STM32的時鐘樹317
20.2系統時鐘318
20.3相關寄存器319
20.4典型硬體電路設計320
20.5常式源碼分析320
第21章FSMC控制器32421.1概述324
21.2FSMC功能描述324
21.3FSMC外部設備地址映射326
21.4FSMC擴展SRAM時序的分析328
21.5典型硬體電路設計329
21.6常式源碼分析330
第22章NOR Flash實驗337
22.1概述337
22.2FSMCNOR Flash的配置說明337
22.3典型硬體電路設計338
22.4常式源碼分析339
第23章NAND Flash實驗352
23.1概述352
23.2NANDFlash的存儲結構353
23.3典型硬體電路設計353
23.4常式源碼分析355
第24章TFT彩屏FSMC驅動36724.1概述367
24.2TFT彩屏工作原理367
24.3TFT的FSMC介面370
24.4典型硬體電路設計372
24.5常式源碼分析372
第25章SDIO介紹374
25.1概述374
25.2SDIO功能介紹374
25.3典型硬體電路設計376
25.4常式源碼分析377
第26章SD卡的讀取383
26.1概述383
26.2SD卡的結構384
26.3典型硬體電路設計385
26.4常式源碼分析385
第27章SPI通信及FAT32檔讀/寫39027.1概述390
27.2SPI工作原理391
27.3FAT32簡介393
27.4典型硬體電路設計393
27.5常式源碼分析394
第28章USB轉串口實驗396
28.1概述396
28.2PL2303的簡介396
28.3典型硬體電路設計397
28.4常式源碼分析399
第29章USB通信403
29.1USB通信原理403
29.2STM32的USB電路設計405
29.3常式原始程式碼分析406
第30章PS2介面414
30.1概述414
30.2PS2協議414
30.3典型硬體電路設計416
30.4常式源碼分析416
第31章NRF24L01無線通訊423
31.1概述423
31.2NRF24L01模組的結構特性423
31.3典型硬體電路設計424
31.4常式源碼分析424
第32章紅外遙控實驗427
32.1紅外遙控簡介427
32.2紅外遙控的工作原理427
32.3典型硬體電路設計429
32.4常式源碼分析430
參考文獻437