定 價(jià):69.8 元
叢書名:高等學(xué)校信息技術(shù)人才能力培養(yǎng)系列教材
- 作者:梁晶 吳銀琴
- 出版時(shí)間:2021/12/1
- ISBN:9787115572790
- 出 版 社:人民郵電出版社
- 中圖法分類:TP360.21
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:128開
本書首先介紹了嵌入式系統(tǒng)的基本概念和背景知識(shí),以及常見的嵌入式系統(tǒng)硬件和嵌入式系統(tǒng)開發(fā)工具;其次講解了基于Cortex-M3/M4架構(gòu)微控制器的內(nèi)部結(jié)構(gòu)和指令集,幫助讀者建立對(duì)嵌入式處理器的宏觀認(rèn)識(shí);然后介紹了STM32微控制器的開發(fā)工具鏈,包括STM32CubeMX、Keil MDK和設(shè)備驅(qū)動(dòng)庫等;后以STM32F4系列微控制器為例,闡述了其主要功能模塊的工作原理和編程方法,包括這些模塊的內(nèi)部結(jié)構(gòu)、外圍硬件電路設(shè)計(jì)方法、寄存器組織和應(yīng)用案例等內(nèi)容。
本書可作為高等院校計(jì)算機(jī)、電子信息、自動(dòng)化、電力電氣等專業(yè)的“嵌入式系統(tǒng)原理”“嵌入式系統(tǒng)編程”“32位單片機(jī)原理與應(yīng)用”等課程的教材和教學(xué)參考書,也可作為工程實(shí)訓(xùn)、電子制作與競(jìng)賽的實(shí)踐教材,還可作為從事自動(dòng)控制、物聯(lián)網(wǎng)、機(jī)電一體化等應(yīng)用領(lǐng)域開發(fā)工作的工程技術(shù)人員的參考書。
編輯推薦:
(1)本書針對(duì)讀者學(xué)習(xí)嵌入式系統(tǒng)入門困難、相關(guān)內(nèi)容較為抽象、學(xué)習(xí)以后動(dòng)手能力差等問題,通過通俗易懂的文字描述和豐富的案例介紹,讓讀者掌握嵌入式系統(tǒng)的基本概念、工作原理和開發(fā)方法,同時(shí)盡量避免煩瑣的軟/硬件配置細(xì)節(jié)描述。
(2)本書使用的硬件環(huán)境基于 STM32F4 系列微控制器,具體型號(hào)是 STM32F407xx,其中闡述的微控制器工作原理與編程方法也適用于 STM32 系列中的其他型號(hào)的微控制器。全書案例使用C語言和 HAL 庫編程實(shí)現(xiàn)。為了照顧部分對(duì)嵌入式系統(tǒng)底層程序開發(fā)感興趣的讀者,本書在講解Cortex-M3/M4 架構(gòu)的部分保留了對(duì)匯編語言的介紹。
本書特色:
(1)結(jié)構(gòu)合理,語言精煉,案例豐富。
(2)基于Arm體系結(jié)構(gòu)的STM32F4系列微控制器。
(3)詳細(xì)介紹嵌入式系統(tǒng)的概念、原理、應(yīng)用及開發(fā)工具鏈。
(4)配套豐富教輔資源,支持隨時(shí)隨地自學(xué),助力讀者穩(wěn)步提升工程實(shí)踐能力。
梁晶:
2004年畢業(yè)于華中科技大學(xué)計(jì)算機(jī)學(xué)院嵌入式系統(tǒng)與智能控制專業(yè),獲工學(xué)碩士學(xué)位,武漢紡織大學(xué)計(jì)算機(jī)與人工智能學(xué)院專任教師,主要研究方向?yàn)榍度胧较到y(tǒng)、人工智能、大數(shù)據(jù)技術(shù)。多年來在一線從事嵌入式系統(tǒng)、人工智能和大數(shù)據(jù)相關(guān)的教學(xué)和科研工作,主持和參與過多項(xiàng)校級(jí)、省級(jí)教研項(xiàng)目和科研項(xiàng)目。長(zhǎng)期與企業(yè)合作從事嵌入式智能終端、車載互聯(lián)網(wǎng)等產(chǎn)品的研發(fā)工作,在嵌入式領(lǐng)域具備較強(qiáng)的理論功底和豐富的工程經(jīng)驗(yàn)。
吳銀琴:
2003年畢業(yè)于華中科技大學(xué)生命科學(xué)與技術(shù)學(xué)院生物醫(yī)學(xué)工程專業(yè),獲工學(xué)碩士學(xué)位,中南民族大學(xué)電子與信息工程學(xué)院專任教師,主要研究方向?yàn)榍度胧较到y(tǒng)、信號(hào)處理等。多年來一直從事嵌入式系統(tǒng)、信號(hào)處理相關(guān)的教學(xué)和科研工作,主持和參與過多項(xiàng)教學(xué)改革項(xiàng)目、實(shí)驗(yàn)教改項(xiàng)目和科研項(xiàng)目,擁有豐富的教學(xué)經(jīng)驗(yàn)。
第 1章 嵌入式系統(tǒng)概述 1
1.1 嵌入式系統(tǒng)的概念 1
1.2 嵌入式系統(tǒng)的特點(diǎn) 2
1.3 嵌入式系統(tǒng)的組成 4
1.4 嵌入式系統(tǒng)的應(yīng)用領(lǐng)域 7
1.5 思考與練習(xí) 8
第 2章 嵌入式系統(tǒng)基礎(chǔ)知識(shí) 9
2.1 嵌入式硬件系統(tǒng) 9
2.1.1 嵌入式處理器 9
2.1.2 存儲(chǔ)器 17
2.1.3 外圍接口 20
2.2 嵌入式軟件系統(tǒng) 21
2.2.1 嵌入式操作系統(tǒng) 22
2.2.2 嵌入式圖形系統(tǒng) 23
2.3 嵌入式系統(tǒng)的開發(fā)流程與開發(fā)模式 25
2.3.1 嵌入式系統(tǒng)的開發(fā)流程 25
2.3.2 嵌入式系統(tǒng)的開發(fā)模式 26
2.4 思考與練習(xí) 30
第3章 Arm處理器介紹 31
3.1 概述 31
3.2 Arm體系結(jié)構(gòu) 32
3.2.1 Arm體系結(jié)構(gòu)的版本 33
3.2.2 Arm體系結(jié)構(gòu)的擴(kuò)展 36
3.3 常見的Arm處理器 37
3.4 思考與練習(xí) 40
第4章 Cortex-M3/M4架構(gòu) 41
4.1 概述 41
4.2 Cortex-M3/M4的內(nèi)部結(jié)構(gòu) 42
4.3 Cortex-M3/M4的系統(tǒng)地址映射 46
4.4 Cortex-M3/M4的編程模型 47
4.4.1 工作模式和運(yùn)行級(jí)別 48
4.4.2 存儲(chǔ)格式 48
4.4.3 寄存器組 49
4.5 Cortex-M3/M4的異!53
4.6 指令集和匯編語言 54
4.6.1 Thumb指令集概述 54
4.6.2 匯編語言基礎(chǔ) 55
4.6.3 尋址方式 57
4.6.4 統(tǒng)一匯編語言 60
4.7 思考與練習(xí) 61
第5章 STM32系列微控制器 62
5.1 概述 62
5.2 STM32F407xx微控制器介紹 63
5.3 STM32F407xx的地址映射 67
5.4 啟動(dòng)方式的配置 71
5.5 STM32系列微控制器的命名規(guī)則 72
5.6 STM32系列微控制器的引腳功能 73
5.7 STM32小系統(tǒng)的組成 75
5.8 思考與練習(xí) 78
第6章 STM32設(shè)備驅(qū)動(dòng)庫和STM32CubeMX 79
6.1 CMSIS介紹 79
6.2 STM32設(shè)備驅(qū)動(dòng)庫 82
6.2.1 STM32設(shè)備驅(qū)動(dòng)庫簡(jiǎn)介 82
6.2.2 預(yù)定義數(shù)據(jù)類型和結(jié)構(gòu)體 86
6.2.3 解析HAL庫 88
6.3 STM32CubeMX輔助開發(fā)工具 91
6.4 思考與練習(xí) 97
第7章 Keil MDK集成開發(fā)環(huán)境 98
7.1 Keil MDK介紹 98
7.2 Keil MDK安裝 99
7.3 Keil MDK使用 102
7.4 Keil MDK程序調(diào)試 110
7.5 STM32F407xx引導(dǎo)代碼解析 112
7.6 思考與練習(xí) 115
第8章 處理器時(shí)鐘 116
8.1 時(shí)鐘概述 116
8.2 時(shí)鐘相關(guān)參數(shù) 119
8.3 時(shí)鐘參數(shù)配置方法 120
8.3.1 工程設(shè)置 121
8.3.2 時(shí)鐘相關(guān)代碼解析 122
8.4 思考與練習(xí) 126
第9章 通用輸入輸出端口 127
9.1 STM32F4微控制器的GPIO端口 127
9.2 GPIO配置方法 129
9.3 GPIO編程 130
9.3.1 工程配置 131
9.3.2 GPIO相關(guān)數(shù)據(jù)結(jié)構(gòu)和API函數(shù) 132
9.3.3 GPIO代碼解析 133
9.4 位帶操作 137
9.4.1 位帶概述 137
9.4.2 位帶編程 138
9.5 思考與練習(xí) 140
第 10章 異常與中斷處理 141
10.1 中斷控制器的工作原理 141
10.1.1 中斷優(yōu)先級(jí) 142
10.1.2 外部中斷和事件 147
10.2 中斷編程 149
10.2.1 工程配置 149
10.2.2 中斷相關(guān)數(shù)據(jù)結(jié)構(gòu)和API函數(shù) 151
10.2.3 中斷代碼解析 154
10.3 思考與練習(xí) 157
第 11章 定時(shí)器 158
11.1 系統(tǒng)定時(shí)器 158
11.2 通用定時(shí)器 162
11.2.1 定時(shí)器的時(shí)鐘源 165
11.2.2 定時(shí)器的計(jì)數(shù)單元 167
11.3 定時(shí)器的基本計(jì)數(shù)功能 168
11.3.1 工程配置 169
11.3.2 計(jì)數(shù)相關(guān)數(shù)據(jù)結(jié)構(gòu)和API函數(shù) 171
11.3.3 定時(shí)器計(jì)數(shù)代碼解析 173
11.4 定時(shí)器的輸出比較模式 175
11.4.1 工程配置 175
11.4.2 輸出比較模式相關(guān)數(shù)據(jù)結(jié)構(gòu)和API函數(shù) 178
11.4.3 輸出比較模式代碼解析 179
11.5 定時(shí)器的PWM輸出模式 182
11.5.1 工程配置 183
11.5.2 PWM輸出模式相關(guān)數(shù)據(jù)結(jié)構(gòu)和API函數(shù) 184
11.5.3 PWM輸出模式代碼解析 185
11.6 定時(shí)器的外部時(shí)鐘模式 186
11.6.1 工程配置 187
11.6.2 外部時(shí)鐘模式代碼解析 188
11.7 定時(shí)器的級(jí)聯(lián) 189
11.7.1 工程配置 189
11.7.2 定時(shí)器級(jí)聯(lián)代碼解析 192
11.8 定時(shí)器的輸入捕獲模式 193
11.8.1 工程配置 193
11.8.2 輸入捕獲模式相關(guān)數(shù)據(jù)結(jié)構(gòu)和API函數(shù) 194
11.8.3 輸入捕獲模式代碼解析 195
11.9 思考與練習(xí) 197
第 12章 串行通信接口 199
12.1 串行通信與異步串行通信 199
12.1.1 串行通信概述 199
12.1.2 異步串行通信協(xié)議 200
12.1.3 異步串行通信的接口標(biāo)準(zhǔn) 201
12.2 STM32F407xx的異步串行通信 204
12.3 異步串行通信參數(shù)設(shè)置 205
12.4 阻塞方式串行通信 209
12.4.1 工程配置 210
12.4.2 異步串行通信相關(guān)數(shù)據(jù)結(jié)構(gòu)和API函數(shù) 211
12.4.3 異步串行通信阻塞方式通信代碼解析 213
12.5 非阻塞方式串行通信 215
12.5.1 工程配置 216
12.5.2 異步串行通信中斷處理相關(guān)函數(shù) 216
12.5.3 異步串行通信非阻塞方式通信代碼解析 217
12.6 思考與練習(xí) 219
第 13章 DMA 220
13.1 DMA介紹 220
13.1.1 STM32F4微控制器的DMA工作原理 220
13.1.2 DMA參數(shù)配置 222
13.2 外設(shè)與存儲(chǔ)器之間的DMA傳輸 224
13.2.1 工程配置 224
13.2.2 DMA相關(guān)數(shù)據(jù)結(jié)構(gòu)和API函數(shù) 226
13.2.3 外設(shè)到存儲(chǔ)器的DMA傳輸代碼解析 228
13.3 存儲(chǔ)器到存儲(chǔ)器的DMA傳輸 230
13.3.1 工程配置 231
13.3.2 存儲(chǔ)器到存儲(chǔ)器的DMA傳輸代碼解析 231
13.4 思考與練習(xí) 234
第 14章 數(shù)模轉(zhuǎn)換器 235
14.1 DAC介紹 235
14.2 STM32F407xx的DAC 236
14.3 軟件觸發(fā)方式 239
14.3.1 工程配置 239
14.3.2 DAC相關(guān)數(shù)據(jù)結(jié)構(gòu)和API函數(shù) 240
14.3.3 軟件觸發(fā)方式代碼解析 241
14.4 定時(shí)器觸發(fā)方式 242
14.4.1 工程配置 243
14.4.2 定時(shí)器觸發(fā)方式代碼解析 243
14.5 DMA方式的DAC編程 244
14.5.1 工程配置 245
14.5.2 DMA方式的DAC轉(zhuǎn)換代碼解析 245
14.6 思考與練習(xí) 247
第 15章 模數(shù)轉(zhuǎn)換器 248
15.1 ADC介紹 248
15.2 STM32F407xx的ADC 249
15.3 多重ADC模式 255
15.4 軟件觸發(fā)數(shù)據(jù)采樣 259
15.4.1 工程配置 259
15.4.2 ADC相關(guān)數(shù)據(jù)結(jié)構(gòu)和API函數(shù) 262
15.4.3 軟件觸發(fā)數(shù)據(jù)采樣代碼解析 264
15.5 定時(shí)器觸發(fā)數(shù)據(jù)采樣 266
15.5.1 軟件配置 266
15.5.2 定時(shí)器觸發(fā)數(shù)據(jù)采樣代碼解析 267
15.6 規(guī)則組數(shù)據(jù)采樣 268
15.6.1 工程配置 268
15.6.2 規(guī)則組數(shù)據(jù)采樣代碼解析 270
15.7 多重ADC模式數(shù)據(jù)采樣 272
15.7.1 工程配置 272
15.7.2 ADC擴(kuò)展的API函數(shù) 273
15.7.3 多重ADC模式數(shù)據(jù)采樣代碼解析 274
15.8 思考與練習(xí) 275
第 16章 浮點(diǎn)運(yùn)算與數(shù)字信號(hào)處理 276
16.1 Cortex-M4架構(gòu)的浮點(diǎn)運(yùn)算 276
16.1.1 定點(diǎn)數(shù)和浮點(diǎn)數(shù) 277
16.1.2 Cortex-M4的浮點(diǎn)運(yùn)算單元 278
16.1.3 浮點(diǎn)運(yùn)算編程 279
16.2 DSP指令集 281
16.2.1 DSP相關(guān)數(shù)據(jù)類型 282
16.2.2 DSP指令集 283
16.3 CMSIS-DSP庫介紹 284
16.4 CMSIS-DSP庫編程舉例 286
16.4.1 向量運(yùn)算 286
16.4.2 快速傅里葉變換 292
16.4.3 FIR濾波器 295
16.4.4 IIR濾波器 302
16.5 思考與練習(xí) 306
第 17章 綜合應(yīng)用案例 307
17.1 智能小車的工作原理及編程 307
17.1.1 電機(jī)驅(qū)動(dòng)模塊 308
17.1.2 循跡檢測(cè)模塊 313
17.1.3 超聲波測(cè)距模塊 315
17.2 多任務(wù)環(huán)境下的智能小車控制程序 318
17.2.1 Keil RTX5 319
17.2.2 基于Keil RTX5的多任務(wù)編程 320
17.3 思考與練習(xí) 325
參考文獻(xiàn) 326