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