注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)操作系統(tǒng)嵌入式系統(tǒng)開發(fā)與實戰(zhàn)

嵌入式系統(tǒng)開發(fā)與實戰(zhàn)

嵌入式系統(tǒng)開發(fā)與實戰(zhàn)

定 價:¥79.00

作 者: 陳翠和 等
出版社: 電子工業(yè)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787121501821 出版時間: 2025-06-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  隨著物聯(lián)網(wǎng)、無人飛行器、機(jī)器人等技術(shù)與產(chǎn)業(yè)的飛速發(fā)展,嵌入式系統(tǒng)的重要性愈發(fā)凸顯。本書主要介紹ARM Cortex-M3結(jié)構(gòu)的STM32F103ZET6應(yīng)用開發(fā)技術(shù)。主要內(nèi)容包括Cortex-M3與STM32F103ZET6的硬件架構(gòu),分層軟件架構(gòu)與設(shè)計方法,以及片上外設(shè)GPIO、中斷控制器、DMA、UART、TIMER、FSMC、I2C、SPI和ADC的編程技術(shù)。本書通過引入軟件工程UML,以及綜合性項目的分析、設(shè)計案例,以綜合性項目“智慧教室”的開發(fā)技術(shù)為主線,將CPU與外設(shè)之間的程序查詢、中斷和DMA通信方式,線程(或任務(wù))之間的同步、互斥、消息和共享變量等各種通信技術(shù),面向?qū)ο蟮念悎D、序列圖、狀態(tài)機(jī)的UML軟件建模方法,以及嵌入式編程中常用的一些軟件設(shè)計技巧適當(dāng)?shù)匕才旁陧椖繉崙?zhàn)或編程舉例中,拓展讀者思維,豐富讀者工程經(jīng)驗;通過分層架構(gòu)、面向?qū)ο蟮脑O(shè)計思想和良好的編碼規(guī)范,提升讀者復(fù)雜工程的軟件建模、設(shè)計與開發(fā)能力。

作者簡介

  陳翠和,副教授,江西省高水平本科教學(xué)團(tuán)隊(程序設(shè)計類課程群教學(xué)團(tuán)隊)負(fù)責(zé)人。主持或參與國科技部十二五重大專項子課題1 項、科技部“863”計劃課題1項、江西省科技廳03專項與5G項目1 項、江西省教育廳科技計劃項目1項、企業(yè)項目10項。主要從事嵌入式、物聯(lián)網(wǎng)應(yīng)用技術(shù)的研發(fā)與教學(xué)工作,兩次獲江西省教育廳教學(xué)成果一等獎。張國林,副教授,江西省高水平本科教學(xué)團(tuán)隊(程序設(shè)計類課程群教學(xué)團(tuán)隊)成員,主持或參與江西省教育廳教改項目和科技計劃項目共10項、企業(yè)項目10項。主要從事計算機(jī)應(yīng)用技術(shù)的研發(fā)與教學(xué)工作,獲江西省教育廳教學(xué)成果一等獎1項。張佳銳,江西省高水平本科教學(xué)團(tuán)隊(程序設(shè)計類課程群教學(xué)團(tuán)隊)成員,主持江西省教育廳科技項目1項,江西省高校教學(xué)改革1項,參與國家自然科學(xué)基金1項。主要從事嵌入式與物聯(lián)網(wǎng)應(yīng)用技術(shù)研發(fā)與教學(xué)工作。胡紅武,教授,江西省高水平本科教學(xué)團(tuán)隊(程序設(shè)計類課程群教學(xué)團(tuán)隊)成員。主持國家重點實驗室課題1項、江西省教學(xué)改革項目4項、江西省教育廳科技計劃項目1項、企業(yè)項目3項;參與國家自然科學(xué)基金項目3項。主要從事計算機(jī)網(wǎng)絡(luò)、計算機(jī)組成原理、嵌入式技術(shù)的教學(xué)工作,獲江西省教學(xué)成果二等獎1項。陳文赫,主要從事嵌入式設(shè)備開發(fā)、工業(yè)物聯(lián)網(wǎng)技術(shù)應(yīng)用、車載傳感器設(shè)計與實現(xiàn)等領(lǐng)域的教學(xué)與科研工作。在嵌入式單片機(jī)開發(fā)、車載傳感器設(shè)備研發(fā)方向積累了豐富經(jīng)驗,致力于推動嵌入式技術(shù)與人工智能、物聯(lián)網(wǎng)的交叉融合。

圖書目錄

第1 章 嵌入式系統(tǒng)概述 1
1.1 學(xué)習(xí)目標(biāo) 1
1.2 嵌入式系統(tǒng)的概念 1
1.3 嵌入式系統(tǒng)的組成 2
1.3.1 嵌入式系統(tǒng)的硬件組成 2
1.3.2 嵌入式系統(tǒng)的軟件組成 3
1.4 嵌入式系統(tǒng)的應(yīng)用領(lǐng)域 4
1.5 嵌入式系統(tǒng)的發(fā)展 4
1.6 嵌入式系統(tǒng)的操作系統(tǒng) 5
1.6.1 嵌入式系統(tǒng)的操作系統(tǒng)分類 5
1.6.2 嵌入式系統(tǒng)的操作系統(tǒng)功能 6
1.7 常用嵌入式系統(tǒng)的操作系統(tǒng)介紹 7
1.7.1 μC/OS 7
1.7.2 VxWorks 7
1.7.3 FreeRTOS 8
1.7.4 RT-Thread 8
1.7.5 Embedded Linux 8
1.7.6 Android 9
1.7.7 LiteOS 9
1.8 習(xí)題 9
第2 章 嵌入式系統(tǒng)開發(fā)過程及分層架構(gòu) 10
2.1 學(xué)習(xí)目標(biāo) 10
2.2 嵌入式系統(tǒng)開發(fā)過程 10
2.3 軟件系統(tǒng)分層架構(gòu) 11
2.3.1 為什么需要分層 11
2.3.2 軟件系統(tǒng)分層的概念 13
2.4 驅(qū)動層與應(yīng)用層的交互 14
2.5 裸機(jī)工程結(jié)構(gòu)與分層架構(gòu)設(shè)計 14
2.5.1 STM32CubeMX 生成的裸機(jī)工程目錄結(jié)構(gòu) 14
2.5.2 裸機(jī)工程的啟動過程 15
2.5.3 裸機(jī)工程的分層架構(gòu)設(shè)計 16
2.6 基于LiteOS 的嵌入式系統(tǒng)分層架構(gòu)設(shè)計 17
2.7 分層架構(gòu)實驗 18
2.7.1 寄存器編程 18
2.7.2 LiteOS 編程 21
2.8 習(xí)題 23
第3 章 嵌入式系統(tǒng)開發(fā)基礎(chǔ) 24
3.1 學(xué)習(xí)目標(biāo) 24
3.2 CPU 與外設(shè)的通信方式 24
3.2.1 CPU 與外設(shè)的接口 25
3.2.2 外設(shè)尋址與外設(shè)寄存器變量 27
3.2.3 單個外設(shè)寄存器變量的定義 27
3.2.4 地址連續(xù)的多個外設(shè)寄存器變量定義 27
3.3 位運算 28
3.4 軟件建模語言UML 29
3.4.1 類圖 29
3.4.2 用例圖 32
3.4.3 活動圖 33
3.4.4 序列圖 34
3.4.5 狀態(tài)圖 35
3.5 LiteOS 開發(fā)基礎(chǔ) 36
3.5.1 LiteOS 的內(nèi)核架構(gòu) 36
3.5.2 LiteOS 的目錄結(jié)構(gòu) 37
3.5.3 LiteOS 的啟動過程 38
3.5.4 LiteOS 任務(wù)及其創(chuàng)建 39
3.6 習(xí)題 41
第4 章 Cortex-M3 與STM32F103ZET6 42
4.1 學(xué)習(xí)目標(biāo) 42
4.2 Cortex-M3 介紹 43
4.2.1 Cortex-M3 的架構(gòu) 43
4.2.2 Cortex-M3 寄存器 43
4.2.3 Cortex-M3 的工作模式和特權(quán)級別 44
4.2.4 指令集 45
4.2.5 指令流水線 45
4.3 STM32F103ZET6 介紹 46
4.3.1 STM32F103ZET6 架構(gòu) 46
4.3.2 STM32F103ZET6 時鐘 47
4.3.3 STM32F103ZET6 存儲器映射 51
4.3.4 STM32F103ZET6 引腳定義 52
4.4 習(xí)題 59
第5 章 GPIO編程 60
5.1 學(xué)習(xí)目標(biāo) 60
5.2 信號類型 60
5.3 STM32F103ZET6 GPIO 特性 61
5.4 GPIO 的端口結(jié)構(gòu) 61
5.5 GPIO 的工作模式 63
5.6 GPIO 的復(fù)用功能AFIO 63
5.7 GPIO 與AFIO 相關(guān)寄存器 63
5.7.1 工作方式配置寄存器GPIOx_CRL 與GPIOx_CRH 64
5.7.2 輸入數(shù)據(jù)寄存器GPIOx_IDR 65
5.7.3 輸出數(shù)據(jù)寄存器GPIOx_ODR 65
5.7.4 位置位/復(fù)位寄存器GPIOx_BSRR 66
5.7.5 位復(fù)位寄存器GPIOx_BRR 66
5.7.6 鎖定寄存器GPIOx_LCKR 67
5.7.7 事件控制寄存器AFIO_EVCR 67
5.7.8 外部中斷控制寄存器AFIO_EXTICRx 68
5.7.9 引腳映射寄存器AFIO_MAPR 69
5.7.10 GPIO 寄存器映射 72
5.8 AFIO 寄存器映射 72
5.9 GPIO 編程方法 73
5.9.1 寄存器編程方法 73
5.9.2 庫函數(shù)編程方法 74
5.10 GPIO 編程舉例 77
5.10.1 寄存器編程舉例 77
5.10.2 庫函數(shù)編程舉例 79
5.11 項目實戰(zhàn)――智慧教室:人走關(guān)扇熄燈 82
5.11.1 項目需求 82
5.11.2 實驗環(huán)境 82
5.11.3 人體紅外檢測傳感器的工作原理 83
5.11.4 系統(tǒng)分析 84
5.11.5 系統(tǒng)設(shè)計 85
5.11.6 LiteOS 庫函數(shù)編程 87
5.11.7 系統(tǒng)實現(xiàn) 88
5.12 習(xí)題 96
第6 章 中斷控制 97
6.1 學(xué)習(xí)目標(biāo) 97
6.2 中斷的工作原理 97
6.2.1 NVIC 中斷控制器 98
6.2.2 NVIC 中斷相關(guān)寄存器 103
6.2.3 EXTI 外部中斷控制器 110
6.3 STM32F103ZET6 異常與中斷向量表 114
6.4 裸機(jī)工程默認(rèn)的中斷設(shè)置 117
6.5 中斷編程方法 118
6.5.1 寄存器編程方法 118
6.5.2 庫函數(shù)編程方法 121
6.6 中斷編程舉例 128
6.6.1 寄存器編程舉例 128
6.6.2 庫函數(shù)編程舉例 129
6.7 項目實戰(zhàn)――按鍵報警 129
6.7.1 項目需求 129
6.7.2 實驗環(huán)境 130
6.7.3 系統(tǒng)分析 130
6.7.4 系統(tǒng)設(shè)計 131
6.7.5 系統(tǒng)實現(xiàn) 134
6.8 習(xí)題 144
第7 章 DMA 編程 146
7.1 學(xué)習(xí)目標(biāo) 146
7.2 DMA 的工作原理 146
7.3 DMA 的主要特性 147
7.4 DMA 處理 148
7.4.1 通道 148
7.4.2 數(shù)據(jù)寬度與數(shù)據(jù)對齊方式 149
7.4.3 中斷 150
7.4.4 錯誤管理 150
7.4.5 DMA 的工作模式 151
7.4.6 DMA 請求的處理流程 151
7.5 DMA 寄存器 152
7.6 DMA 寄存器映射 152
7.7 DMA 的編程方法 153
7.7.1 庫函數(shù)接口 153
7.7.2 庫函數(shù)編程方法 154
7.8 DMA 編程舉例 155
7.9 習(xí)題 160
第8 章 UART 通信 161
8.1 學(xué)習(xí)目標(biāo) 161
8.2 STM32F103ZET6 USART概述 161
8.3 STM32F103ZET6 UART 的特性 162
8.4 STM32F103ZET6 UART 的工作原理 162
8.5 串行通信幀格式 163
8.6 波特率的生成 164
8.7 多處理器模式 165
8.8 USART 寄存器 166
8.9 USART 寄存器映射 171
8.10 UART 編程方法 172
8.10.1 寄存器編程方法 172
8.10.2 庫函數(shù)編程方法 173
X 嵌入式系統(tǒng)開發(fā)與實戰(zhàn)
8.11 UART 編程舉例 175
8.11.1 寄存器編程舉例 175
8.11.2 庫函數(shù)編程舉例 178
8.11.3 printf()輸出重定向 184
8.12 項目實戰(zhàn)――智慧教室系統(tǒng)人機(jī)交互調(diào)試接口 184
8.12.1 項目需求 184
8.12.2 實驗環(huán)境 185
8.12.3 系統(tǒng)分析 185
8.12.4 系統(tǒng)設(shè)計 186
8.12.5 系統(tǒng)實現(xiàn) 189
8.13 習(xí)題 199
第9 章 定時器 200
9.1 學(xué)習(xí)目標(biāo) 200
9.2 定時器的基本工作原理 200
9.3 計數(shù)模式 201
9.3.1 上計數(shù) 201
9.3.2 下計數(shù) 201
9.3.3 上/下計數(shù) 202
9.4 定時事件 203
9.4.1 溢出事件 203
9.4.2 更新事件 203
9.4.3 比較事件 203
9.4.4 捕獲事件 204
9.5 PWM 204
9.6 死區(qū) 204
9.7 STM32F103ZET6 的定時器類型 205
9.8 基本定時器(TIM6 和TIM7) 205
9.8.1 主要特性 206
9.8.2 計數(shù)時序與更新事件 206
9.8.3 自動重裝載值的計算 207
9.8.4 基本定時器寄存器 207
9.8.5 基本定時器寄存器映射 210
9.9 高級定時器(TIM1 和TIM8) 211
9.9.1 主要特性 211
9.9.2 重復(fù)計數(shù)器 212
9.9.3 計數(shù)時鐘源 212
9.9.4 輸入捕獲 213
9.9.5 輸出比較 214
9.9.6 生成PWM 信號 214
9.9.7 高級定時器寄存器 218
9.9.8 高級定時器寄存器映射 218
9.10 通用定時器 219
9.11 系統(tǒng)節(jié)拍定時器SysTick 220
9.11.1 系統(tǒng)節(jié)拍定時器的工作原理 220
9.11.2 系統(tǒng)節(jié)拍定時器寄存器 221
9.11.3 系統(tǒng)節(jié)拍定時器寄存器映射 222
9.11.4 裸機(jī)工程對系統(tǒng)節(jié)拍定時器的使用 222
9.12 看門狗定時器 223
9.12.1 獨立看門狗IWDG 223
9.12.2 窗口看門狗WWDG 225
9.13 定時器編程方法 229
9.13.1 庫函數(shù)接口 229
9.13.2 庫函數(shù)編程方法 234
9.14 定時器編程舉例 234
9.14.1 基本定時器編程舉例 234
9.14.2 高級定時器編程舉例 238
9.15 項目實戰(zhàn)――人體智慧檢測 243
9.15.1 項目需求 243
9.15.2 實驗環(huán)境 244
9.15.3 步進(jìn)電機(jī)的工作原理與工作方式 244
9.15.4 系統(tǒng)分析 245
9.15.5 系統(tǒng)設(shè)計 247
9.15.6 系統(tǒng)實現(xiàn) 249
9.16 習(xí)題 256
第10 章 FSMC 編程 257
10.1 學(xué)習(xí)目標(biāo) 257
10.2 FSMC 控制概述 257
10.3 FSMC 功能框圖 258
10.4 各類存儲器地址映射 259
10.5 NOR Flash 和PSRAM 控制器 260
10.5.1 支持的存儲器類型 260
10.5.2 讀/寫時序 260
10.6 FSMC NOR/PSRAM 控制器寄存器 261
10.7 寄存器映射 261
10.8 FSMC 編程方法 262
10.8.1 庫函數(shù)接口 262
10.8.2 庫函數(shù)編程方法 263
10.9 FSMC 編程舉例 264
10.9.1 IS62WV51216BLL芯片介紹 265
10.9.2 利用庫函數(shù)讀/寫SRAM 267
10.10 習(xí)題 272
第11 章 I2C 編程 273
11.1 學(xué)習(xí)目標(biāo) 273
11.2 I2C 協(xié)議簡介 273
11.2.1 I2C 網(wǎng)絡(luò) 274
11.2.2 I2C 總線信號與時序 274
11.2.3 I2C 設(shè)備地址格式 275
11.2.4 I2C 數(shù)據(jù)傳送過程 276
11.3 STM32F103ZET6 I2C 的工作原理 277
11.3.1 主要特性 277
11.3.2 功能結(jié)構(gòu) 277
11.3.3 工作方式 278
11.3.4 通信故障 283
11.3.5 SDA/SCL 控制 283
11.3.6 中斷 284
11.4 I2C 寄存器 284
11.5 I2C 寄存器映射 285
11.6 I2C 編程方法 285
11.6.1 庫函數(shù)接口 285
11.6.2 庫函數(shù)編程方法 287
11.7 I2C 編程舉例 288
11.7.1 AT24C02 EEPROM介紹 288
11.7.2 基于程序查詢方式 289
11.7.3 基于中斷方式 292
11.8 項目實戰(zhàn)――智慧教室:溫度控制 298
11.8.1 項目需求 298
11.8.2 實驗環(huán)境 298
11.8.3 AHT10 溫濕度傳感器簡介 299
11.8.4 系統(tǒng)分析 300
11.8.5 系統(tǒng)設(shè)計 301
11.8.6 系統(tǒng)實現(xiàn) 303
11.9 習(xí)題 311
第12 章 串行外設(shè)接口SPI 312
12.1 學(xué)習(xí)目標(biāo) 312
12.2 SPI 的功能及主要特性 312
12.3 SPI 的工作原理 313
12.3.1 SPI 功能框圖 313
12.3.2 SPI 的工作模式 314
12.3.3 SPI 用作主設(shè)備 315
12.3.4 SPI 用作從設(shè)備 315
12.3.5 狀態(tài)標(biāo)志 315
12.3.6 DMA 傳輸 316
12.4 寄存器 316
12.5 寄存器映射 317
12.6 SPI 編程方法 317
12.6.1 庫函數(shù)接口 317
12.6.2 庫函數(shù)編程方法 318
12.7 SPI 編程舉例 319
12.8 項目實戰(zhàn)――智慧教室:OLED 顯示教室溫濕度 320
12.8.1 項目需求 320
12.8.2 實驗環(huán)境 320
12.8.3 OLED SSD1306 介紹 321
12.8.4 系統(tǒng)分析 324
12.8.5 系統(tǒng)設(shè)計 324
12.8.6 系統(tǒng)實現(xiàn) 325
12.9 習(xí)題 334
第13 章 模數(shù)轉(zhuǎn)換器ADC 335
13.1 學(xué)習(xí)目標(biāo) 335
13.2 ADC 的主要特性 335
13.3 ADC 的功能結(jié)構(gòu)與基本概念 336
13.3.1 ADC 轉(zhuǎn)換的觸發(fā)方式 337
13.3.2 模擬信號輸入通道 337
13.3.3 通道序列/通道分組 337
13.3.4 規(guī)則序列與注入序列 337
13.3.5 自動注入 338
13.3.6 序列的定義與轉(zhuǎn)換結(jié)果的保存 338
13.4 ADC 的工作方式 338
13.5 注入序列轉(zhuǎn)換的啟動方式 339
13.6 中斷和DMA 339
13.7 ADC 的時鐘與采樣時間 340
13.8 ADC 的觸發(fā) 340
13.9 數(shù)據(jù)對齊 342
13.10 校準(zhǔn) 342
13.11 模擬看門狗 342
13.12 轉(zhuǎn)換結(jié)果 343
13.13 ADC 寄存器 343
13.14 ADC 寄存器映射 343
13.15 ADC 編程方法 344
13.15.1 庫函數(shù)接口 344
13.15.2 庫函數(shù)編程方法 346
13.16 ADC 編程舉例 346
13.16.1 使用STM32CubeMX配置ADC 347
13.16.2 使用STM32CubeMX生成代碼 349
13.16.3 電位器驅(qū)動 351
13.17 項目實踐――智慧教室:光照強(qiáng)度控制 353
13.17.1 項目需求 353
13.17.2 實驗環(huán)境 353
13.17.3 光照強(qiáng)度傳感器――光敏電阻特性 353
13.17.4 系統(tǒng)分析 355
13.17.5 系統(tǒng)設(shè)計 356
13.17.6 系統(tǒng)實現(xiàn) 359
13.18 習(xí)題 368

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號