嵌入式技術(shù)入門與實戰(zhàn)(基于STM32)
定 價:35 元
叢書名:高等學(xué)校電子信息類系列教材
- 作者:尹靜
- 出版時間:2023/11/1
- ISBN:9787560669502
- 出 版 社:西安電子科技大學(xué)出版社
- 中圖法分類:TP332
- 頁碼:216
- 紙張:
- 版次:1
- 開本:16開
本書是基于STM32嵌入式系統(tǒng)的應(yīng)用開發(fā)實戰(zhàn)教程,全書分為基礎(chǔ)入門篇、基礎(chǔ)實戰(zhàn)篇、進階實戰(zhàn)篇三個部分。基礎(chǔ)入門篇介紹STM32嵌入式系統(tǒng)和STM32CubeIDE開發(fā)環(huán)境的搭建,使讀者初步了解嵌入式系統(tǒng);基礎(chǔ)實戰(zhàn)篇通過經(jīng)典的實戰(zhàn)任務(wù)使讀者熟悉STM32嵌入式系統(tǒng)的工作原理和基本開發(fā)方法;進階實戰(zhàn)篇給有更高開發(fā)需求的讀者提供了進階強化任務(wù),使讀者深入了解嵌入式系統(tǒng)的應(yīng)用開發(fā)。
本書在內(nèi)容組織上由淺入深,注重理論與實踐的結(jié)合,在任務(wù)過程中穿插理論知識,針對性更強,可使讀者更有效地掌握實踐方法。本書采用STM32CubeIDE作為集成開發(fā)工具,通過STM32Cube的開發(fā)方式,建立起HAL庫的開發(fā)思想。其中工程初始化代碼可通過STM32CubeIDE中集成的STM32CubeMX進行圖形化配置,降低了STM32初學(xué)者的實踐難度;底層驅(qū)動和配置可通過直接調(diào)用HAL庫函數(shù)實現(xiàn),提高編程效率。
本書可作為高等學(xué)校電子信息類、計算機類專業(yè)嵌入式系統(tǒng)開發(fā)應(yīng)用課程的教材,也可作為嵌入式系統(tǒng)開發(fā)初學(xué)者的參考資料。
隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,嵌入式系統(tǒng)在工業(yè)控制、通信、醫(yī)療器械、消費類電子產(chǎn)品等領(lǐng)域的應(yīng)用越來越廣泛,市場對于嵌入式系統(tǒng)開發(fā)應(yīng)用人才的需求在持續(xù)增加。近年來,隨著國家對芯片、操作系統(tǒng)重視程度的提高,為了實現(xiàn)嵌入式產(chǎn)品的設(shè)計、生產(chǎn)自主化,需要更多的本土專業(yè)人才,各個高校更是遵循市場和國家發(fā)展需求,不斷加強培養(yǎng)適應(yīng)崗位需求的各種應(yīng)用型、技能型人才。
本書內(nèi)容緊跟嵌入式技術(shù)發(fā)展趨勢,介紹了目前國內(nèi)應(yīng)用最為廣泛的STM32芯片的應(yīng)用與開發(fā)技術(shù)。書中的所有實踐任務(wù)均基于STM32CubeIDE,志在提高嵌入式系統(tǒng)開發(fā)的效率。書中將實踐任務(wù)作為主線,引導(dǎo)讀者通過“做中學(xué),學(xué)中做”的方式學(xué)習(xí)相關(guān)的理論知識。另外,本書的編程采用HAL庫編程思想,這也是目前STM32嵌入式系統(tǒng)開發(fā)的趨勢。
本書共9章,分為3大部分:基礎(chǔ)入門篇、基礎(chǔ)實戰(zhàn)篇、進階實戰(zhàn)篇;A(chǔ)入門篇主要介紹開發(fā)前的準備工作,包括2章內(nèi)容:認識STM32嵌入式系統(tǒng)、搭建STM32CubeIDE開發(fā)環(huán)境。基礎(chǔ)實戰(zhàn)篇是本書的核心內(nèi)容,也是嵌入式應(yīng)用開發(fā)學(xué)習(xí)者入門必學(xué)的內(nèi)容,主要介紹基于STM32CubeIDE的STM32芯片片內(nèi)外設(shè)的基本開發(fā)方法和理論知識,包括5章內(nèi)容:STM32 I/O應(yīng)用實戰(zhàn)、STM32外部中斷的應(yīng)用、STM32串口通信的應(yīng)用、STM32定時器應(yīng)用實戰(zhàn)、STM32模擬數(shù)字轉(zhuǎn)換模塊。進階實戰(zhàn)篇包括2章內(nèi)容:STM32的通信接口應(yīng)用實戰(zhàn),介紹RS-485和CAN總線通信實現(xiàn);傳感器和電機的應(yīng)用實戰(zhàn),介紹溫度傳感器數(shù)據(jù)采集、超聲波測距和控制步進電機的實現(xiàn)。每章后有對應(yīng)的思考與練習(xí),用于對該章知識點進行總結(jié)和鞏固。
本書內(nèi)容注重任務(wù)驅(qū)動,任務(wù)不再是輔助學(xué)習(xí)材料,而是每章的主要內(nèi)容,理論知識為任務(wù)實現(xiàn)服務(wù),任務(wù)的實現(xiàn)過程可使讀者加深對理論知識的理解。書中選取經(jīng)典實踐任務(wù),內(nèi)容由淺入深,有詳細的操作過程說明,更加適合需要快速入門并掌握嵌入式開發(fā)知識的讀者以及高校的學(xué)生群體。
本書以STM32嵌入式芯片作為開發(fā)對象,任務(wù)中更關(guān)注軟硬件實現(xiàn)的原理分析,不強調(diào)具體某一款開發(fā)實驗板,讀者可以靈活選用應(yīng)用對象,活學(xué)活用。本書采用ST公司推出的STM32CubeIDE作為集成開發(fā)工具,該軟件是ST公司提供的免費軟件,可從官網(wǎng)獲取和更新,集成了STM32CubeMX模塊,可進行MCU系統(tǒng)功能和片上外設(shè)的圖形化配置,自動生成工程代碼,使用更加便捷。代碼實現(xiàn)采用HAL庫開發(fā)模式,可隨時跟進最新的技術(shù)動態(tài),開發(fā)效率更高。
為了和STM32CubeIDE開發(fā)工具保持一致,書中的部分變量、單位和器件符號未采用國標,請讀者閱讀時留意。
本書提供各個章節(jié)的教學(xué)課件、所有案例的源代碼和思考與練習(xí)答案,需要的讀者可以在出版社官網(wǎng)查詢本書,進入本書的頁面獲取相關(guān)資源。
本書主編是上海第二工業(yè)大學(xué)教師尹靜,副主編是上海第二工業(yè)大學(xué)教師謝微以及上海電子信息職業(yè)技術(shù)學(xué)院教師何進松。尹靜負責本書整體結(jié)構(gòu)設(shè)計以及第一部分內(nèi)容的編寫,謝微負責本書第二部分和第三部分第9章內(nèi)容的編寫以及對應(yīng)案例材料的整理,何進松負責本書第三部分第8章內(nèi)容的編寫以及對應(yīng)案例材料的整理。
由于編者水平有限,書中難免會有疏漏和不妥之處,敬請廣大讀者和專家批評指正。
編 者?
2023年9月
第一部分 基?礎(chǔ)?入?門?篇
第1章 認識STM32嵌入式系統(tǒng) 2
1.1 ARM微處理器 2
1.1.1 ARM系列微處理器 2
1.1.2 Cortex系列處理器 3
1.2 STM32微控制器 5
1.2.1 STM32系列微控制器 5
1.2.2 STM32時鐘系統(tǒng) 11
1.2.3 STM32最小系統(tǒng) 14
思考與練習(xí) 18
第2章 搭建STM32CubeIDE開發(fā)環(huán)境 19
2.1 STM32CubeIDE軟件平臺搭建 19
2.1.1 初識STM32CubeIDE 19
2.1.2 STM32CubeIDE的下載和安裝 20
2.1.3 開啟STM32CubeIDE的操作
界面 22
2.1.4 HAL庫的應(yīng)用 26
2.2 下載和調(diào)試驅(qū)動安裝 29
2.2.1 串口下載程序 29
2.2.2 ST-LINK仿真器下載程序 31
思考與練習(xí) 32
第二部分 基?礎(chǔ)?實?戰(zhàn)?篇
第3章 STM32 I/O應(yīng)用實戰(zhàn) 34
3.1 初識STM32的I/O口 34
3.2 任務(wù)1 GPIO實現(xiàn)跑馬燈的控制 35
3.2.1 任務(wù)分析 35
3.2.2 硬件設(shè)計與實現(xiàn) 35
3.2.3 軟件設(shè)計與實現(xiàn) 36
3.3 任務(wù)2 按鍵點燈的控制與實現(xiàn) 49
3.3.1 任務(wù)分析 49
3.3.2 硬件設(shè)計與實現(xiàn) 49
3.3.3 軟件設(shè)計與實現(xiàn) 51
3.4 任務(wù)3 STM32 I/O的位帶操作
實現(xiàn) 59
3.4.1 位帶操作原理 59
3.4.2 位帶操作的代碼實現(xiàn) 61
3.5 拓展知識 63
3.5.1 STM32 I/O的配置寄存器 63
3.5.2 STM32 I/O相關(guān)的HAL庫
函數(shù) 63
思考與練習(xí) 64
第4章 STM32外部中斷的應(yīng)用 65
4.1 認識STM32的外部中斷 65
4.1.1 STM32的中斷向量表 65
4.1.2 外部中斷/事件控制器(EXTI) 67
4.1.3 中斷管理機制 69
4.2 任務(wù) 按鍵檢測的設(shè)計與實現(xiàn) 70
4.2.1 任務(wù)分析 70
4.2.2 硬件設(shè)計與實現(xiàn) 70
4.2.3 軟件設(shè)計與實現(xiàn) 71
4.3 拓展知識 76
4.3.1 外部中斷的配置寄存器 76
4.3.2 GPIO作為外部中斷的HAL庫
函數(shù) 77
思考與練習(xí) 77
第5章 STM32串口通信的應(yīng)用 78
5.1 認識STM32的串口通信 78
5.1.1 串口通信概述 78
5.1.2 USART串口內(nèi)部結(jié)構(gòu) 79
5.1.3 串口異步通信協(xié)議 82
5.2 任務(wù) 簡單串口通信功能的實現(xiàn) 82
5.2.1 任務(wù)分析 82
5.2.2 硬件設(shè)計與實現(xiàn) 83
5.2.3 軟件設(shè)計與實現(xiàn) 84
5.3 項目擴展知識 94
5.3.1 串口相關(guān)寄存器 94
5.3.2 串口的HAL庫函數(shù) 95
思考與練習(xí) 96
第6章 STM32定時器應(yīng)用實戰(zhàn) 97
6.1 認識STM32的定時器 97
6.1.1 定時器功能分類 97
6.1.2 定時器內(nèi)部結(jié)構(gòu) 98
6.2 任務(wù)1 定時中斷控制LED燈
閃爍 99
6.2.1 任務(wù)分析 99
6.2.2 硬件設(shè)計與實現(xiàn) 99
6.2.3 軟件設(shè)計與實現(xiàn) 103
6.3 任務(wù)2 定時器輸出PWM脈沖 108
6.3.1 任務(wù)分析 108
6.3.2 硬件設(shè)計與實現(xiàn) 108
6.3.3 軟件設(shè)計與實現(xiàn) 112
6.4 任務(wù)3 定時器測量輸入的脈沖
寬度 117
6.4.1 任務(wù)分析 117
6.4.2 硬件設(shè)計與實現(xiàn) 117
6.4.3 軟件設(shè)計與實現(xiàn) 119
6.5 項目擴展知識 127
6.5.1 定時器的寄存器 127
6.5.2 定時器的HAL庫函數(shù) 128
思考與練習(xí) 130
第7章 STM32模擬數(shù)字轉(zhuǎn)換模塊 131
7.1 認識STM32的ADC 131
7.1.1 STM32的ADC簡介 131
7.1.2 STM32的ADC功能 132
7.2 任務(wù)1 STM32 ADC應(yīng)用實戰(zhàn) 136
7.2.1 任務(wù)分析 136
7.2.2 硬件設(shè)計與實現(xiàn) 136
7.2.3 軟件設(shè)計與實現(xiàn) 137
7.3 認識STM32的DAC 144
7.3.1 STM32的DAC簡介 144
7.3.2 STM32的DAC功能 145
7.4 任務(wù)2 STM32 DAC應(yīng)用實戰(zhàn) 147
7.4.1 任務(wù)分析 147
7.4.2 硬件設(shè)計與實現(xiàn) 147
7.4.3 軟件設(shè)計與實現(xiàn) 148
7.5 拓展知識 154
7.5.1 ADC和DAC的寄存器 154
7.5.2 ADC和DAC的HAL庫函數(shù) 155
思考與練習(xí) 158
第三部分 進?階?實?戰(zhàn)?篇
第8章 STM32的通信接口應(yīng)用實戰(zhàn) 160
8.1 任務(wù)1 RS-485通信實現(xiàn) 160
8.1.1 任務(wù)分析 160
8.1.2 RS-485通信原理簡介 160
8.1.3 硬件設(shè)計與實現(xiàn) 162
8.1.4 軟件設(shè)計與實現(xiàn) 163
8.2 任務(wù)2 CAN總線通信實現(xiàn) 169
8.2.1 任務(wù)分析 169
8.2.2 CAN總線通信原理簡介 169
8.2.3 硬件設(shè)計與實現(xiàn) 173
8.2.4 軟件設(shè)計與實現(xiàn) 174
思考與練習(xí) 177
第9章 傳感器和電機的應(yīng)用實戰(zhàn) 178
9.1 任務(wù)1 溫度傳感器數(shù)據(jù)采集的
實現(xiàn) 178
9.1.1 任務(wù)分析 178
9.1.2 溫度傳感器DS18B20介紹 178
9.1.3 硬件設(shè)計與實現(xiàn) 182
9.1.4 軟件設(shè)計與實現(xiàn) 183
9.2 任務(wù)2 超聲波測距的實現(xiàn) 191
9.2.1 任務(wù)分析 191
9.2.2 超聲波傳感器測距原理簡介 191
9.2.3 硬件設(shè)計與實現(xiàn) 193
9.2.4 軟件設(shè)計與實現(xiàn) 194
9.3 任務(wù)3 控制步進電機的實現(xiàn) 199
9.3.1 任務(wù)分析 199
9.3.2 步進電機轉(zhuǎn)速的工作過程 199
9.3.3 硬件設(shè)計與實現(xiàn) 201
9.3.4 軟件設(shè)計與實現(xiàn) 203
思考與練習(xí) 207