嵌入式系統原理與套用:基於STM32F4系列微控制器

嵌入式系統原理與套用:基於STM32F4系列微控制器

《嵌入式系統原理與套用:基於STM32F4系列微控制器》是2021年人民郵電出版社出版的圖書。

基本介紹

  • 中文名:嵌入式系統原理與套用:基於STM32F4系列微控制器
  • 作者:編者:梁晶//吳銀琴|責編:王宣
  • 類別:工學教材
  • 出版社:人民郵電出版社
  • 出版時間:2021年12月
  • 開本:128 開
  • 裝幀:平裝
  • ISBN:9787115572790
內容簡介,作者簡介,圖書目錄,

內容簡介

本書首先介紹了嵌入式系統的基本概念和背景知識,以及常見的嵌入式系統硬體和嵌入式系統開發工具;其次講解了基於Cortex-M3/M4架構微控制器的內部結構和指令集,幫助讀者建立對嵌入式處理器的巨觀認識;然後介紹了STM32微控制器的開發工具鏈,包括STM32CubeMX、Keil MDK和設備驅動庫等;後以STM32F4系列微控制器為例,闡述了其主要功能模組的工作原理和編程方法,包括這些模組的內部結構、外圍硬體電路設計方法、暫存器組織和套用案例等內容。
本書可作為高等院校計算機、電子信息、自動化、電力電氣等專業的“嵌入式系統原理”“嵌入式系統編程”“32位單片機原理與套用”等課程的教材和教學參考書,也可作為工程實訓、電子製作與競賽的實踐教材,還可作為從事自動控制、物聯網、機電一體化等套用領域開發工作的工程技術人員的參考書。

作者簡介

梁晶: 2004年畢業於華中科技大學計算機學院嵌入式系統與智慧型控制專業,獲工學碩士學位,武漢紡織大學計算機與人工智慧學院專任教師,主要研究方向為嵌入式系統、人工智慧、大數據技術。多年來在一線從事嵌入式系統、人工智慧和大數據相關的教學和科研工作,主持和參與過多項校級、省級教研項目和科研項目。長期與企業合作從事嵌入式智慧型終端、車載網際網路等產品的研發工作,在嵌入式領域具備較強的理論功底和豐富的工程經驗。 吳銀琴: 2003年畢業於華中科技大學生命科學與技術學院生物醫學工程專業,獲工學碩士學位,中南民族大學電子與信息工程學院專任教師,主要研究方向為嵌入式系統、信號處理等。多年來一直從事嵌入式系統、信號處理相關的教學和科研工作,主持和參與過多項教學改革項目、實驗教改項目和科研項目,擁有豐富的教學經驗。

圖書目錄

第1章 嵌入式系統概述 1
1.1 嵌入式系統的概念 1
1.2 嵌入式系統的特點 2
1.3 嵌入式系統的組成 4
1.4 嵌入式系統的套用領域 7
1.5 思考與練習 8
第 2章 嵌入式系統基礎知識 9
2.1 嵌入式硬體系統 9
2.1.1 嵌入式處理器 9
2.1.2 存儲器 17
2.1.3 外圍接口 20
2.2 嵌入式軟體系統 21
2.2.1 嵌入式作業系統 22
2.2.2 嵌入式圖形系統 23
2.3 嵌入式系統的開發流程與開發模式 25
2.3.1 嵌入式系統的開發流程 25
2.3.2 嵌入式系統的開發模式 26
2.4 思考與練習 30
第3章 Arm處理器介紹 31
3.1 概述 31
3.2 Arm體系結構 32
3.2.1 Arm體系結構的版本 33
3.2.2 Arm體系結構的擴展 36
3.3 常見的Arm處理器 37
3.4 思考與練習 40
第4章 Cortex-M3/M4架構 41
4.1 概述 41
4.2 Cortex-M3/M4的內部結構 42
4.3 Cortex-M3/M4的系統地址映射 46
4.4 Cortex-M3/M4的編程模型 47
4.4.1 工作模式和運行級別 48
4.4.2 存儲格式 48
4.4.3 暫存器組 49
4.5 Cortex-M3/M4的異常 53
4.6 指令集和彙編語言 54
4.6.1 Thumb指令集概述 54
4.6.2 彙編語言基礎 55
4.6.3 定址方式 57
4.6.4 統一彙編語言 60
4.7 思考與練習 61
第5章 STM32系列微控制器 62
5.1 概述 62
5.2 STM32F407xx微控制器介紹 63
5.3 STM32F407xx的地址映射 67
5.4 啟動方式的配置 71
5.5 STM32系列微控制器的命名規則 72
5.6 STM32系列微控制器的引腳功能 73
5.7 STM32小系統的組成 75
5.8 思考與練習 78
第6章 STM32設備驅動庫和STM32CubeMX 79
6.1 CMSIS介紹 79
6.2 STM32設備驅動庫 82
6.2.1 STM32設備驅動庫簡介 82
6.2.2 預定義數據類型和結構體 86
6.2.3 解析HAL庫 88
6.3 STM32CubeMX輔助開發工具 91
6.4 思考與練習 97
第7章 Keil MDK集成開發環境 98
7.1 Keil MDK介紹 98
7.2 Keil MDK安裝 99
7.3 Keil MDK使用 102
7.4 Keil MDK程式調試 110
7.5 STM32F407xx引導代碼解析 112
7.6 思考與練習 115
第8章 處理器時鐘 116
8.1 時鐘概述 116
8.2 時鐘相關參數 119
8.3 時鐘參數配置方法 120
8.3.1 工程設定 121
8.3.2 時鐘相關代碼解析 122
8.4 思考與練習 126
第9章 通用輸入輸出連線埠 127
9.1 STM32F4微控制器的GPIO連線埠 127
9.2 GPIO配置方法 129
9.3 GPIO編程 130
9.3.1 工程配置 131
9.3.2 GPIO相關數據結構和API函式 132
9.3.3 GPIO代碼解析 133
9.4 位帶操作 137
9.4.1 位帶概述 137
9.4.2 位帶編程 138
9.5 思考與練習 140
第 10章 異常與中斷處理 141
10.1 中斷控制器的工作原理 141
10.1.1 中斷優先權 142
10.1.2 外部中斷和事件 147
10.2 中斷編程 149
10.2.1 工程配置 149
10.2.2 中斷相關數據結構和API函式 151
10.2.3 中斷代碼解析 154
10.3 思考與練習 157
第 11章 定時器 158
11.1 系統定時器 158
11.2 通用定時器 162
11.2.1 定時器的時鐘源 165
11.2.2 定時器的計數單元 167
11.3 定時器的基本計數功能 168
11.3.1 工程配置 169
11.3.2 計數相關數據結構和API函式 171
11.3.3 定時器計數代碼解析 173
11.4 定時器的輸出比較模式 175
11.4.1 工程配置 175
11.4.2 輸出比較模式相關數據結構和API函式 178
11.4.3 輸出比較模式代碼解析 179
11.5 定時器的PWM輸出模式 182
11.5.1 工程配置 183
11.5.2 PWM輸出模式相關數據結構和API函式 184
11.5.3 PWM輸出模式代碼解析 185
11.6 定時器的外部時鐘模式 186
11.6.1 工程配置 187
11.6.2 外部時鐘模式代碼解析 188
11.7 定時器的級聯 189
11.7.1 工程配置 189
11.7.2 定時器級聯代碼解析 192
11.8 定時器的輸入捕獲模式 193
11.8.1 工程配置 193
11.8.2 輸入捕獲模式相關數據結構和API函式 194
11.8.3 輸入捕獲模式代碼解析 195
11.9 思考與練習 197
第 12章 串列通信接口 199
12.1 串列通信與異步串列通信 199
12.1.1 串列通信概述 199
12.1.2 異步串列通信協定 200
12.1.3 異步串列通信的接口標準 201
12.2 STM32F407xx的異步串列通信 204
12.3 異步串列通信參數設定 205
12.4 阻塞方式串列通信 209
12.4.1 工程配置 210
12.4.2 異步串列通信相關數據結構和API函式 211
12.4.3 異步串列通信阻塞方式通信代碼解析 213
12.5 非阻塞方式串列通信 215
12.5.1 工程配置 216
12.5.2 異步串列通信中斷處理相關函式 216
12.5.3 異步串列通信非阻塞方式通信代碼解析 217
12.6 思考與練習 219
第 13章 DMA 220
13.1 DMA介紹 220
13.1.1 STM32F4微控制器的DMA工作原理 220
13.1.2 DMA參數配置 222
13.2 外設與存儲器之間的DMA傳輸 224
13.2.1 工程配置 224
13.2.2 DMA相關數據結構和API函式 226
13.2.3 外設到存儲器的DMA傳輸代碼解析 228
13.3 存儲器到存儲器的DMA傳輸 230
13.3.1 工程配置 231
13.3.2 存儲器到存儲器的DMA傳輸代碼解析 231
13.4 思考與練習 234
第 14章 數模轉換器 235
14.1 DAC介紹 235
14.2 STM32F407xx的DAC 236
14.3 軟體觸發方式 239
14.3.1 工程配置 239
14.3.2 DAC相關數據結構和API函式 240
14.3.3 軟體觸發方式代碼解析 241
14.4 定時器觸發方式 242
14.4.1 工程配置 243
14.4.2 定時器觸發方式代碼解析 243
14.5 DMA方式的DAC編程 244
14.5.1 工程配置 245
14.5.2 DMA方式的DAC轉換代碼解析 245
14.6 思考與練習 247
第 15章 模數轉換器 248
15.1 ADC介紹 248
15.2 STM32F407xx的ADC 249
15.3 多重ADC模式 255
15.4 軟體觸發數據採樣 259
15.4.1 工程配置 259
15.4.2 ADC相關數據結構和API函式 262
15.4.3 軟體觸發數據採樣代碼解析 264
15.5 定時器觸發數據採樣 266
15.5.1 軟體配置 266
15.5.2 定時器觸發數據採樣代碼解析 267
15.6 規則組數據採樣 268
15.6.1 工程配置 268
15.6.2 規則組數據採樣代碼解析 270
15.7 多重ADC模式數據採樣 272
15.7.1 工程配置 272
15.7.2 ADC擴展的API函式 273
15.7.3 多重ADC模式數據採樣代碼解析 274
15.8 思考與練習 275
第 16章 浮點運算與數位訊號處理 276
16.1 Cortex-M4架構的浮點運算 276
16.1.1 定點數和浮點數 277
16.1.2 Cortex-M4的浮點運算單元 278
16.1.3 浮點運算編程 279
16.2 DSP指令集 281
16.2.1 DSP相關數據類型 282
16.2.2 DSP指令集 283
16.3 CMSIS-DSP庫介紹 284
16.4 CMSIS-DSP庫編程舉例 286
16.4.1 向量運算 286
16.4.2 快速傅立葉變換 292
16.4.3 FIR濾波器 295
16.4.4 IIR濾波器 302
16.5 思考與練習 306
第 17章 綜合套用案例 307
17.1 智慧型小車的工作原理及編程 307
17.1.1 電機驅動模組 308
17.1.2 循跡檢測模組 313
17.1.3 超音波測距模組 315
17.2 多任務環境下的智慧型小車控制程式 318
17.2.1 Keil RTX5 319
17.2.2 基於Keil RTX5的多任務編程 320
17.3 思考與練習 325
參考文獻 326

相關詞條

熱門詞條

聯絡我們