STM32單片機(jī)應(yīng)用與全案例實(shí)踐
定 價(jià):68 元
叢書名:嵌入式技術(shù)與應(yīng)用叢書
當(dāng)前圖書已被 1 所學(xué)校薦購(gòu)過(guò)!
查看明細(xì)
- 作者:沈紅衛(wèi)
- 出版時(shí)間:2025/3/1
- ISBN:9787121496868
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP368.1
- 頁(yè)碼:
- 紙張:
- 版次:
- 開本:
本書涵蓋了基于ARM的STM32 HAL庫(kù)的基本概念、基本原理、應(yīng)用技術(shù)。硬件原理的闡述以學(xué)生"適用、易學(xué)、掌握”為原則,降低讀者入門和理解的難度。STM32的軟件設(shè)計(jì)基于HAL庫(kù),方便讀者上手。本書在內(nèi)容組織和框架設(shè)計(jì)上具有兩個(gè)鮮明特點(diǎn):全案例、基于讀者學(xué)習(xí)。從讀者學(xué)習(xí)的角度,組織每個(gè)章節(jié)的內(nèi)容體系,對(duì)STM32常用的典型外設(shè)模塊的原理及其應(yīng)用設(shè)計(jì)均以若干個(gè)完整案例呈現(xiàn),同時(shí)也給出了一個(gè)完整的綜合性工程案例,這些都十分有利于學(xué)習(xí)者學(xué)習(xí)和模仿。
沈紅衛(wèi),歷任紹興文理學(xué)院自動(dòng)化系副教授,紹興文理學(xué)院教務(wù)處處長(zhǎng)(教授),現(xiàn)任紹興文理學(xué)院工學(xué)院院長(zhǎng)。主要著作有《單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例與分析》、《基于單片機(jī)的智能系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》等。
目 錄
第一篇 基于HAL + STM32CubeIDE
第1章 如何學(xué)習(xí)STM322
1.1 學(xué)習(xí)STM32必須具備的基礎(chǔ)知識(shí)2
1.2 STM32的基本架構(gòu)和基本原理3
1.2.1 嵌入式與ARM3
1.2.2 什么是STM324
1.2.3 STM32的內(nèi)部結(jié)構(gòu)5
1.2.4 STM32的時(shí)鐘樹6
1.2.5 STM32典型芯片9
1.3 STM32的開發(fā)10
1.3.1 STM32的4種開發(fā)模式10
1.3.2 HAL庫(kù)的文件結(jié)構(gòu)12
1.3.3 基于HAL庫(kù)開發(fā)中必須掌握的幾個(gè)概念14
1.3.4 如何學(xué)習(xí)STM3216
1.3.5 學(xué)習(xí)STM32所需工具和平臺(tái)16
1.4 STM32的最小系統(tǒng)—學(xué)習(xí)和開發(fā)的最小平臺(tái)18
1.5 本章小結(jié)20
思考與實(shí)踐21
第2章 STM32的工程創(chuàng)建和調(diào)試22
2.1 STM32CubeMX與STM32CubeIDE22
2.1.1 什么是STM32CubeMX22
2.1.2 STM32CubeIDE與STM32CubeMX的區(qū)別22
2.2 STM32CubeIDE開發(fā)平臺(tái)的搭建23
2.2.1 IDE平臺(tái)的安裝23
2.2.2 Packs包下載與安裝26
2.3 新建工程流程29
2.4 STM32CubeIDE的功能及其基本操作37
2.4.1 工具欄介紹37
2.4.2 Debug調(diào)試模式38
2.4.3 窗口和文本設(shè)置39
2.5 本章小結(jié)41
思考與實(shí)踐41
第3章 通用輸入/輸出(GPIO)口42
3.1 STM32 GPIO口概述42
3.2 GPIO口的工作原理42
3.2.1 GPIO引腳介紹42
3.2.2 GPIO口的內(nèi)部結(jié)構(gòu)43
3.2.3 GPIO口的工作模式46
3.3 GPIO口配置與應(yīng)用50
3.3.1 GPIO口配置解析50
3.3.2 GPIO函數(shù)51
3.4 GPIO應(yīng)用實(shí)例52
3.4.1 GPIO輸出控制52
3.4.2 單功能按鍵輸入57
3.4.3 復(fù)用功能按鍵輸入61
3.5 本章小結(jié)63
思考與實(shí)踐64
第4章 中斷65
4.1 中斷及其基本原理65
4.1.1 什么是中斷65
4.1.2 中斷系統(tǒng)66
4.1.3 中斷處理流程67
4.2 嵌套向量中斷控制器68
4.2.1 嵌套向量中斷控制器的主要功能68
4.2.2 異常和中斷69
4.2.3 EXTI71
4.3 EXTI的配置與應(yīng)用73
4.3.1 EXTI配置解析73
4.3.2 EXTI函數(shù)76
4.4 EXTI應(yīng)用實(shí)例76
4.4.1 EXTI控制LED翻轉(zhuǎn)76
4.4.2 EXTI嵌套LED控制83
4.5 本章小結(jié)89
思考與實(shí)踐90
第5章 串口(USART)91
5.1 串行通信91
5.1.1 嵌入式系統(tǒng)中的通信91
5.1.2 同步/異步串行通信92
5.1.3 UART93
5.2 STM32的USART95
5.2.1 USART接口95
5.2.2 5路USART的引腳關(guān)系96
5.2.3 USART的應(yīng)用步驟97
5.3 串口通信配置97
5.3.1 串口設(shè)備配置解析97
5.3.2 常用的UART函數(shù)99
5.3.3 串口重定向100
5.3.4 串口調(diào)試助手101
5.4 串口應(yīng)用實(shí)例102
5.4.1 串口收發(fā)輪詢方式102
5.4.2 串口收發(fā)中斷方式109
5.4.3 串口空閑中斷方式111
5.5 本章小結(jié)112
思考與實(shí)踐112
第6章 I2C和SPI113
6.1 STM32的I2C總線113
6.1.1 I2C總線概述113
6.1.2 I2C總線的工作原理和注意事項(xiàng)114
6.1.3 STM32的I2C總線的基本特點(diǎn)116
6.2 STM32的I2C總線的應(yīng)用要領(lǐng)117
6.2.1 關(guān)于STM32的I2C模塊117
6.2.2 I2C總線死鎖的原因及其解決辦法118
6.2.3 STM32的I2C接收和發(fā)送流程118
6.3 硬件I2C與軟件I2C119
6.3.1 硬件I2C設(shè)備配置流程119
6.3.2 接口函數(shù)及其應(yīng)用123
6.3.3 軟件I2C實(shí)現(xiàn)126
6.4 STM32的SPI129
6.4.1 硬件結(jié)構(gòu)與時(shí)序129
6.4.2 STM32 SPI的構(gòu)成131
6.4.3 STM32的SPI的主要工作流程132
6.4.4 SPI函數(shù)及其應(yīng)用132
6.4.5 設(shè)備配置流程133
6.5 I2C和SPI應(yīng)用實(shí)例135
6.5.1 I2C讀寫AT24C02135
6.5.2 基于SPI總線實(shí)現(xiàn)OLED顯示140
6.6 本章小結(jié)152
思考與實(shí)踐153
第7章 定時(shí)器154
7.1 STM32定時(shí)器154
7.1.1 高級(jí)定時(shí)器154
7.1.2 通用定時(shí)器155
7.1.3 基本定時(shí)器156
7.2 PWM157
7.2.1 什么是PWM157
7.2.2 PWM的主要參數(shù)157
7.2.3 PWM的工作原理157
7.2.4 PWM的應(yīng)用158
7.3 定時(shí)器配置159
7.3.1 定時(shí)器模式159
7.3.2 定時(shí)器參數(shù)160
7.3.3 定時(shí)器中斷161
7.4 主要接口函數(shù)162
7.4.1 定時(shí)器啟停162
7.4.2 比較輸出162
7.4.3 PWM輸出163
7.4.4 輸入捕獲164
7.5 定時(shí)器應(yīng)用實(shí)例165
7.5.1 定時(shí)器控制LED165
7.5.2 PWM呼吸燈166
7.5.3 輸入捕獲168
7.6 本章小結(jié)171
思考與實(shí)踐173
第8章 直接存儲(chǔ)器訪問(wèn)(DMA)174
8.1 STM32的DMA174
8.1.1 什么是DMA174
8.1.2 DMA控制器的功能框圖174
8.1.3 DMA的基本原理175
8.1.4 DMA控制器的主要特點(diǎn)175
8.2 DMA的配置要點(diǎn)176
8.2.1 DMA控制器配置參數(shù)176
8.2.2 DMA的優(yōu)先級(jí)及其仲裁176
8.2.3 DMA通道177
8.2.4 DMA中斷請(qǐng)求178
8.2.5 DMA注意事項(xiàng)178
8.3 DMA配置178
8.3.1 設(shè)備配置解析178
8.3.2 配置函數(shù)解析181
8.4 DMA應(yīng)用實(shí)例181
8.4.1 內(nèi)存到內(nèi)存?zhèn)鬏敺绞綉?yīng)用(MEMTOMEM)181
8.4.2 外設(shè)到內(nèi)存?zhèn)鬏敺绞綉?yīng)用184
8.5 本章小結(jié)187
思考與實(shí)踐187
第9章 ADC188
9.1 STM32F1的ADC188
9.1.1 ADC及其基本特性188
9.1.2 ADC誤差來(lái)源及消除措施190
9.2 STM32外設(shè)模塊ADC的工作流程與編程要點(diǎn)191
9.2.1 ADC的工作流程191
9.2.2 ADC編程的要點(diǎn)192
9.3 ADC配置193
9.3.1 設(shè)備配置解析193
9.3.2 接口函數(shù)200
9.4 ADC應(yīng)用實(shí)例203
9.4.1 單ADC單通道應(yīng)用示例203
9.4.2 單ADC多通道應(yīng)用示例207
9.5 本章小結(jié)211
思考與實(shí)踐211
第10章 DAC212
10.1 STM32的DAC212
10.1.1 DAC的功能、特點(diǎn)212
10.1.2 DAC的主要技術(shù)參數(shù)213
10.1.3 DAC配置的基本過(guò)程214
10.2 DAC配置214
10.2.1 設(shè)備配置解析214
10.2.2 接口函數(shù)217
10.3 DAC應(yīng)用實(shí)例219
10.3.1 DAC輸出正弦波219
10.3.2 DAC輸出三角波221
10.4 本章小結(jié)224
思考與實(shí)踐224
第11章 Flash225
11.1 STM32的Flash存儲(chǔ)器及其基本特性225
11.1.1 嵌入式系統(tǒng)中的存儲(chǔ)器225
11.1.2 Flash模塊的組織關(guān)系226
11.1.3 STM32的Flash架構(gòu)226
11.1.4 Flash的相關(guān)操作227
11.1.5 選項(xiàng)字節(jié)編程228
11.2 Flash配置與接口函數(shù)229
11.2.1 寫操作函數(shù)229
11.2.2 解鎖與上鎖函數(shù)230
11.2.3 Flash擦除函數(shù)230
11.2.4 讀操作231
11.2.5 選項(xiàng)字節(jié)相關(guān)操作函數(shù)231
11.3 Flash應(yīng)用實(shí)例232
11.3.1 功能描述232
11.3.2 軟件設(shè)計(jì)232
11.3.3 實(shí)驗(yàn)結(jié)果234
?
11.4 本章小結(jié)237
思考與實(shí)踐237
第12章 綜合性設(shè)計(jì)項(xiàng)目238
12.1 信號(hào)發(fā)生與采集238
12.1.1 項(xiàng)目性能和功能要求238
12.1.2 外設(shè)配置238
12.1.3 程序設(shè)計(jì)242
12.1.4 運(yùn)行結(jié)果242
12.2 煙霧報(bào)警及其處置的模擬243
12.2.1 項(xiàng)目設(shè)計(jì)要求243
12.2.2 外圍電路設(shè)計(jì)243
12.2.3 外設(shè)配置244
12.2.4 程序設(shè)計(jì)245
12.2.5 運(yùn)行結(jié)果246
12.3 串口觸摸屏設(shè)計(jì)246
12.3.1 功能描述246
12.3.2 串口觸摸屏的程序設(shè)計(jì)246
12.3.3 STM32的外設(shè)配置249
12.3.4 程序設(shè)計(jì)250
12.3.5 運(yùn)行結(jié)果251
12.4 本章小結(jié)251
思考與實(shí)踐251
第二篇 基于固件庫(kù)+Keil(MDK-ARM)
第13章 基于固件庫(kù)的開發(fā)及其示例254
13.1 STM32的最小系統(tǒng)254
13.2 STM32工程模板的建立255
13.2.1 STM32的固件庫(kù)255
13.2.2 新建工程模板的第一步——復(fù)制固件庫(kù)文件259
13.2.3 新建工程模板的第二步——新建一個(gè)Keil工程260
13.2.4 關(guān)于創(chuàng)建工程模板的簡(jiǎn)單小結(jié)266
13.3 程序的燒寫267
13.3.1 基于串口的程序下載(燒寫)方式268
13.3.2 基于JTAG(SWD)的程序下載(燒寫)方式269
13.4 程序的調(diào)試271
13.5 模板的使用273
13.6 3個(gè)GPIO輸出的范例——STM32中實(shí)現(xiàn) 延時(shí)的三種常用方法274
13.6.1 第一個(gè)LED工程——基于延時(shí)函數(shù)的延時(shí)274
13.6.2 第二個(gè)LED工程——SysTick中斷延時(shí)276
13.6.3 第三個(gè)LED工程——定時(shí)器中斷延時(shí)278
13.7 本章小結(jié)281
思考與實(shí)踐282
第14章 液晶顯示在STM32中的應(yīng)用——基于固件庫(kù)283
14.1 STM32與12864液晶模塊連接的硬件接口283
14.1.1 12864液晶模塊的基本原理283
14.1.2 硬件接口284
14.2 STM32與12864液晶模塊連接的軟件 接口實(shí)現(xiàn)——查詢“忙”狀態(tài)284
14.2.1 程序設(shè)計(jì)思想284
14.2.2 程序?qū)崿F(xiàn)285
14.2.3 程序演示303
14.3 本章小結(jié)304
思考與實(shí)踐304