STM32應(yīng)用技術(shù)項(xiàng)目實(shí)踐
定 價(jià):54 元
- 作者:馬穎
- 出版時(shí)間:2025/8/1
- ISBN:9787121496127
- 出 版 社:電子工業(yè)出版社
- 中圖法分類(lèi):TP368.1
- 頁(yè)碼:204
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書(shū)以 STM32CubeIDE、STM32CubeMX+MDK Keil 兩種開(kāi)發(fā)平臺(tái)為例,介紹 STM32F407 芯片的系統(tǒng)功能和常用外設(shè)的編程開(kāi)發(fā)方法,內(nèi)容包括 STM32 軟硬件開(kāi)發(fā)基礎(chǔ)、GPIO、外部中斷、串行通信、定時(shí)器、LCD、PWM 輸出、ADC 等。本書(shū)編寫(xiě)力求通俗易懂,針對(duì)職業(yè)教育特點(diǎn),采用“項(xiàng)目導(dǎo)向、任務(wù)驅(qū)動(dòng)”教學(xué)模式構(gòu)建內(nèi)容體系, 全書(shū)由 4 個(gè)項(xiàng)目共 13 個(gè)任務(wù)構(gòu)成,主要包括開(kāi)發(fā)平臺(tái)的搭建、軟件的使用、基于 HAL 庫(kù)的 STM32 工程創(chuàng)建和 STM32F4 系統(tǒng)時(shí)鐘、GPIO 的配置,并基于 STM32F407 開(kāi)發(fā)板實(shí)施 LED 控制設(shè)計(jì)、三人搶答器設(shè)計(jì)和智能調(diào)光燈設(shè)計(jì)等。書(shū)中融入了大量互動(dòng)式學(xué)習(xí)內(nèi)容,讀者可以掃描書(shū)中的二維碼獲得開(kāi)發(fā)代碼及解決問(wèn)題的思路等。本書(shū)附有完整的開(kāi)發(fā)代碼、PPT 課件及思考練習(xí)答案,讀者可登錄華信教育資源網(wǎng)注冊(cè)后免費(fèi)下載。
馬穎,四川信息職業(yè)技術(shù)學(xué)院,副教授,具有20多年的教學(xué)經(jīng)驗(yàn),負(fù)責(zé)多門(mén)國(guó)家級(jí)精品課程、省級(jí)精品在線課程建設(shè)工作,主編多部教材,在電子技術(shù)、EDA開(kāi)發(fā)、集成電路技術(shù)方面具有扎實(shí)的教研經(jīng)驗(yàn)。
項(xiàng)目 1 搭建 STM32 開(kāi)發(fā)環(huán)境 1
任務(wù) 1.1 認(rèn)識(shí) STM32F4 開(kāi)發(fā)板 2
任務(wù)描述 2
任務(wù)學(xué)習(xí) 2
1.1.1 初識(shí) STM32 2
1.1.2 認(rèn)識(shí) STM32F407 芯片 3
1.1.3 認(rèn)識(shí) STM32F4 開(kāi)發(fā)板 8
任務(wù)實(shí)施 9
步驟 1:搜集芯片數(shù)據(jù)手冊(cè)及開(kāi)發(fā)板的相關(guān)資料 9
步驟 2:查找 STM32F4 開(kāi)發(fā)板的連接外設(shè)的引腳 9
任務(wù) 1.2 安裝 STM32 開(kāi)發(fā)軟件 10
任務(wù)描述 10
任務(wù)學(xué)習(xí) 11
1.2.1 STM32 的開(kāi)發(fā)方式 11
1.2.2 STM32 的開(kāi)發(fā)軟件 11
任務(wù)實(shí)施 12
步驟 1:檢查 Java 運(yùn)行環(huán)境 12
步驟 2:安裝 CubeIDE 軟件 13
步驟 3:安裝 CubeMX 軟件及固件包 14
步驟 4:安裝 Keil MDK 軟件及固件包 16
任務(wù) 1.3 創(chuàng)建 STM32 工程 19
任務(wù)描述 19
任務(wù)學(xué)習(xí) 19
1.3.1 認(rèn)識(shí)主要項(xiàng)目文件及 CMSIS 標(biāo)準(zhǔn) 19
1.3.2 LED 的硬件電路及其 GPIO 配置 21
任務(wù)實(shí)施 1:CubeMX 軟件工程配置 22
步驟 1:選芯片新建工程,認(rèn)識(shí)軟件界面 22
步驟 2:配置系統(tǒng)時(shí)鐘 24
步驟 3:配置 GPIO 27
步驟 4:生成初始化代碼 28
任務(wù)實(shí)施 2:在 Keil MDK 軟件中編寫(xiě)控制 LED 的代碼 30
步驟 1:認(rèn)識(shí) Keil MDK 軟件界面,設(shè)置輸出 hex 文件 30
步驟 2:Keil MDK 軟件的幾個(gè)設(shè)置技巧 32
步驟 3:編寫(xiě)控制 LED 閃爍的代碼 34
任務(wù)實(shí)施 3:使用 CubeIDE 配置工程,編寫(xiě)代碼 35
步驟 1:創(chuàng)建 STM32 工程 35
步驟 2:配置系統(tǒng)時(shí)鐘和 GPIO 38
步驟 3:生成初始化代碼,認(rèn)識(shí)編輯界面 38
步驟 4:編寫(xiě)控制 LED 亮滅的代碼 43
步驟 5:設(shè)置輸出 hex 文件 43
任務(wù) 1.4 程序下載與調(diào)試 44
任務(wù)描述 44
任務(wù)學(xué)習(xí) 44
1.4.1 STM32F4 的程序下載方式 44
1.4.2 開(kāi)發(fā)板的串口一鍵下載電路 45
任務(wù)實(shí)施 46
步驟 1:安裝 CH340 串口驅(qū)動(dòng)程序 46
步驟 2:使用 FlyMcu 軟件實(shí)現(xiàn)串口下載 47
步驟 3:安裝 ST-LINK 驅(qū)動(dòng)程序 48
步驟 4:在 Keil MDK 軟件中使用 ST-LINK 下載程序 50
步驟 5:在 CubeIDE 軟件中使用 ST-LINK 下載程序 52
拓展訓(xùn)練:聲光報(bào)警器設(shè)計(jì) 53
項(xiàng)目評(píng)價(jià) 55
思考練習(xí) 55
項(xiàng)目 2 LED 控制設(shè)計(jì) 57
任務(wù) 2.1 8 位跑馬燈設(shè)計(jì) 58
任務(wù)描述 58
任務(wù)學(xué)習(xí) 58
2.1.1 STM32F4 的時(shí)鐘系統(tǒng)及其初始化函數(shù) 58
2.1.2 STM32F4 的 GPIO 及其配置 61
2.1.3 GPIO 相關(guān)的 API 函數(shù) 64
任務(wù)實(shí)施 66
步驟 1:8 位跑馬燈硬件電路設(shè)計(jì) 66
步驟 2:CubeMX 工程配置 67
步驟 3:查看和分析項(xiàng)目初始化配置代碼 68
步驟 4:編寫(xiě) LED 控制函數(shù) 70
步驟 5:上板驗(yàn)證跑馬燈功能 72
拓展訓(xùn)練:循環(huán)點(diǎn)亮 RGB 燈 73
任務(wù) 2.2 按鍵控制 LED 設(shè)計(jì) 74
任務(wù)描述 74
任務(wù)學(xué)習(xí) 75
2.2.1 按鍵工作原理 75
2.2.2 獨(dú)立按鍵輸入檢測(cè)函數(shù)設(shè)計(jì) 76
任務(wù)實(shí)施 77
步驟 1:硬件電路設(shè)計(jì) 77
步驟 2:CubeMX 工程配置 78
步驟 3:創(chuàng)建外設(shè)驅(qū)動(dòng)文件,添加文件路徑 79
步驟 4:編寫(xiě)按鍵檢測(cè)函數(shù)及 LED 宏函數(shù) 85
步驟 5:實(shí)現(xiàn)按鍵控制 LED 設(shè)計(jì) 87
拓展訓(xùn)練:按鍵控制 RGB 燈 88
任務(wù) 2.3 串口控制 LED 設(shè)計(jì) 88
任務(wù)描述 88
任務(wù)學(xué)習(xí) 89
2.3.1 串行通信概述 89
2.3.2 異步串行通信協(xié)議 90
2.3.3 串口操作的 HAL 庫(kù)相關(guān)函數(shù) 92
技能訓(xùn)練 1:串口發(fā)送信息 92
步驟 1:硬件電路設(shè)計(jì) 92
步驟 2:串口 CubeMX 工程配置 93
步驟 3:復(fù)制外設(shè)驅(qū)動(dòng)文件,添加文件路徑 96
步驟 4:分析串行通信配置代碼 97
步驟 5:添加串口重定向代碼 98
步驟 6:實(shí)現(xiàn)串口發(fā)送功能 99
技能訓(xùn)練 2:串口發(fā)送及接收信息 100
步驟 1:復(fù)制串口通信工程 100
步驟 2:編寫(xiě)串口接收信息功能代碼 101
步驟 3:下載調(diào)試串口發(fā)送及接收信息功能 103
任務(wù)實(shí)施 103
步驟 1:編寫(xiě)串口控制 LED 代碼 103
步驟 2:下載程序并測(cè)試串口控制 LED 功能 104
拓展訓(xùn)練:串口控制 RGB 燈 105
項(xiàng)目評(píng)價(jià) 106
思考練習(xí) 106
項(xiàng)目 3 三人搶答器設(shè)計(jì) 108
任務(wù) 3.1 三人搶答器按鍵模塊設(shè)計(jì) 109
任務(wù)描述 109
任務(wù)學(xué)習(xí) 109
3.1.1 中斷概述 109
3.1.2 NVIC 中斷優(yōu)先級(jí) 111
3.1.3 EXTI 外部中斷 111
3.1.4 EXTI 相關(guān) HAL 函數(shù) 113
任務(wù)實(shí)施 113
步驟 1:外部中斷按鍵引腳配置 113
步驟 2:CubeMX 工程配置 114
步驟 3:外部中斷按鍵代碼設(shè)計(jì) 115
拓展訓(xùn)練 1:給三人搶答器添加三個(gè)選手指示燈 117
拓展訓(xùn)練 2:通過(guò)外部中斷方式實(shí)現(xiàn)按鍵控制 RGB 燈 118
任務(wù) 3.2 三人搶答器限時(shí)搶答設(shè)計(jì) 118
任務(wù)描述 118
任務(wù)學(xué)習(xí) 119
3.2.1 STM32 定時(shí)器概述 119
3.2.2 通用定時(shí)器 121
3.2.3 基本定時(shí)器 123
3.2.4 定時(shí)器的 HAL 驅(qū)動(dòng)函數(shù) 124
技能訓(xùn)練:通用定時(shí)器設(shè)計(jì) 125
步驟 1:通用定時(shí)器參數(shù)計(jì)算 125
步驟 2:通用定時(shí)器 CubeMX 工程配置 125
步驟 3:實(shí)現(xiàn)通用定時(shí)器控制 LED 閃爍 128
任務(wù)實(shí)施 129
步驟 1:基本定時(shí)器參數(shù)計(jì)算 129
步驟 2:基本定時(shí)器 CubeMX 工程配置 129
步驟 3:限時(shí)搶答代碼設(shè)計(jì)及浮點(diǎn)數(shù)輸出 130
任務(wù) 3.3 三人搶答器顯示界面設(shè)計(jì) 134
任務(wù)描述 134
任務(wù)學(xué)習(xí) 134
3.3.1 TFTLCD 概述 134
3.3.2 FSMC 簡(jiǎn)介 136
技能訓(xùn)練:TFTLCD 顯示 139
步驟 1:連接 TFTLCD 硬件電路 140
步驟 2:TFTLCD 的 CubeMX 工程配置 141
步驟 3:分析代碼,移植 LCD 驅(qū)動(dòng)文件 142
步驟 4:編寫(xiě) TFTLCD 顯示代碼 148
任務(wù)實(shí)施 149
步驟 1:復(fù)制工程 149
步驟 2:編寫(xiě)代碼 149
拓展訓(xùn)練 1:在 TFTLCD 上顯示自己設(shè)計(jì)的 LOGO 151
拓展訓(xùn)練 2:添加 48 號(hào)字體在 LCD 顯示 152
項(xiàng)目整體實(shí)施 153
步驟 1:三人搶答器工程配置 153
步驟 2:移植三人搶答器顯示界面代碼 154
步驟 3:下載程序,檢測(cè)三人搶答器整體功能 155
項(xiàng)目評(píng)價(jià) 155
思考練習(xí) 156
項(xiàng)目 4 智能調(diào)光燈設(shè)計(jì) 157
任務(wù) 4.1 調(diào)光燈手動(dòng)模式設(shè)計(jì) 158
任務(wù)描述 158
任務(wù)學(xué)習(xí) 158
4.1.1 PWM 工作原理 158
4.1.2 PWM 相關(guān)的 HAL 函數(shù) 160
任務(wù)實(shí)施 161
步驟 1:PWM 參數(shù)計(jì)算 161
步驟 2:PWM 的 CubeMX 工程配置 161
步驟 3:實(shí)現(xiàn)按鍵調(diào)光燈設(shè)計(jì) 163
拓展訓(xùn)練:使用 USB_LED 設(shè)計(jì)按鍵調(diào)光燈 165
任務(wù) 4.2 調(diào)光燈自動(dòng)模式設(shè)計(jì) 167
任務(wù)描述 167
任務(wù)學(xué)習(xí) 168
4.2.1 STM32F4 的 ADC 168
4.2.2 光敏傳感器 170
技能訓(xùn)練:光敏傳感器及 ADC 檢測(cè) 171
步驟 1:硬件電路設(shè)計(jì) 171
步驟 2:ADC 的 CubeMX 工程配置 172
步驟 3:編寫(xiě)光敏傳感器實(shí)現(xiàn)代碼 173
任務(wù)實(shí)施 176
步驟 1:配置工程,編寫(xiě) ADC 代碼 176
步驟 2:編寫(xiě)主函數(shù)代碼 176
步驟 3:下載程序,測(cè)試功能 178
任務(wù) 4.3 漢字及圖片的 LCD 界面設(shè)計(jì) 178
任務(wù)描述 178
任務(wù)學(xué)習(xí) 179
4.3.1 漢字顯示原理 179
4.3.2 圖片顯示格式 180
技能訓(xùn)練 1:漢字顯示設(shè)計(jì) 181
步驟 1:通過(guò) PCtoLCD 2002 軟件進(jìn)行漢字取模 181
步驟 2:編寫(xiě)顯示漢字的應(yīng)用函數(shù) 182
步驟 3:編寫(xiě)漢字顯示代碼 183
技能訓(xùn)練 2:圖片顯示設(shè)計(jì) 183
步驟 1:添加圖片顯示驅(qū)動(dòng)文件 183
步驟 2:通過(guò) Image2Lcd 軟件進(jìn)行圖片取模 184
步驟 3:編寫(xiě)代碼實(shí)現(xiàn)圖片顯示 185
任務(wù)實(shí)施 185
步驟 1:對(duì) ASCII 碼取模 48 號(hào)字符集 185
步驟 2:在主函數(shù)中編寫(xiě)智能調(diào)光燈 LCD 顯示的代碼 185
項(xiàng)目整體實(shí)施 187
步驟 1:復(fù)制工程,移植 LCD 文件 188
步驟 2:添加漢字及圖片的 LCD 界面設(shè)計(jì)相關(guān)代碼 188
步驟 3:上板測(cè)試 189
項(xiàng)目評(píng)價(jià) 189
思考練習(xí) 190
附錄 A 開(kāi)發(fā)板部分電路原理圖 191
參考文獻(xiàn) 194