定 價:79 元
叢書名:嵌入式技術(shù)與應(yīng)用叢書
- 作者:景妮琴
- 出版時間:2023/9/1
- ISBN:9787121462542
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP368.1
- 頁碼:296
- 紙張:
- 版次:01
- 開本:16開
基于Cortex-M4內(nèi)核的STM32F4系列微控制器具有較高的性價比,在多個領(lǐng)域都得到了廣泛的應(yīng)用。本書以STM32F407為例,通過11個具體的項目詳細介紹微控制器和嵌入式系統(tǒng)開發(fā)技術(shù),主要內(nèi)容涉及開發(fā)環(huán)境、標準固件庫、GPIO接口、定時器、外部中斷、USART、SPI總線、I2C總線、ADC、嵌入式操作系統(tǒng)等。本書采用項目式教學(xué)方法進行講解,可幫助讀者快速熟悉ARM微控制器與嵌入式系統(tǒng)的開發(fā)流程、STM32系列微控制器的標準固件庫和各種外設(shè)的使用方法。
景妮琴,女,1979年出生,碩士研究生,北京電子科技職業(yè)學(xué)院副教授,北京市青年骨干教師,北京市師德先進個人。主要研究方向為嵌入式應(yīng)用技術(shù)、機器學(xué)習(xí)、深度學(xué)習(xí)。曾榮獲北京市信息化教學(xué)大賽二等獎、榮獲北京市教學(xué)能力比賽二等獎。
目 錄
項目1 開發(fā)環(huán)境的搭建 1
任務(wù)1.1 了解ARM微控制器STM32F407 2
1.1.1 ARM微控制器 2
1.1.2 STM32F407的功能 6
任務(wù)1.2 初識開發(fā)板硬件電路 10
1.2.1 核心板的電路原理圖 10
1.2.2 擴展板的電路原理圖 13
任務(wù)1.3 開發(fā)環(huán)境的搭建 15
1.3.1 KEIL開發(fā)環(huán)境搭建 16
1.3.2 安裝調(diào)試工具 19
1.4 項目總結(jié) 22
1.5 動手實踐 22
1.6 潤物無聲:中國芯片 22
1.7 知識鞏固 23
項目2 標準固件庫函數(shù)開發(fā)初探:從點亮LED開始 25
任務(wù)2.1 多文件編程 25
2.1.1 C程序的編譯 26
2.1.2 模塊化編程 26
任務(wù)2.2 標準固件庫函數(shù)工程模板的建立 29
2.2.1 標準固件庫文件 29
2.2.2 使用幫助文檔 35
2.2.3 建立庫函數(shù)工程模板 36
任務(wù)2.3 點亮LED 44
2.3.1 點亮LED的開發(fā)步驟 44
2.3.2 硬件電路設(shè)計 44
2.3.3 軟件設(shè)計 45
2.4 項目總結(jié) 48
2.5 動手實踐 49
2.6 項目拓展 49
2.7 潤物無聲:千里之行,始于足下 49
2.8 知識鞏固 49
項目3 使用GPIO接口完成簡單的開發(fā)任務(wù) 54
任務(wù)3.1 使用GPIO接口實現(xiàn)流水燈 54
3.1.1 GPIO接口的工作模式 54
3.1.2 STM32F407ZGT6的時鐘系統(tǒng) 60
3.1.3 GPIO接口的結(jié)構(gòu)體及庫函數(shù) 65
3.1.4 流水燈的軟硬件設(shè)計 69
任務(wù)3.2 使用GPIO接口控制按鍵 71
3.2.1 任務(wù)描述 71
3.2.2 硬件設(shè)計 72
3.2.3 軟件設(shè)計 72
任務(wù)3.3 數(shù)碼管的動態(tài)顯示 76
3.3.1 任務(wù)描述 76
3.3.2 硬件設(shè)計 76
3.3.3 軟件設(shè)計 77
3.4 項目總結(jié) 82
3.5 動手實踐 82
3.6 潤物無聲:代碼規(guī)范 83
3.7 知識鞏固 84
項目4 使用定時器實現(xiàn)電子鐘 89
任務(wù)4.1 熟悉STM32系列微控制器的中斷系統(tǒng) 89
4.1.1 嵌套向量中斷控制器 91
4.1.2 NVIC的結(jié)構(gòu)體 93
4.1.3 NVIC的標準固件庫函數(shù) 95
4.1.4 中斷編程的要點 95
任務(wù)4.2 熟悉STM32F407微控制器的定時器特性 96
4.2.1 高級控制定時器 96
4.2.2 通用定時器 97
4.2.3 基本定時器 97
任務(wù)4.3 使用定時器實現(xiàn)電子鐘的軟件設(shè)計 97
4.3.1 基本定時器的主要功能 97
4.3.2 定時器的結(jié)構(gòu)體及標準固件庫函數(shù) 100
4.3.3 電子鐘的軟件設(shè)計 104
4.4 項目總結(jié) 109
4.5 動手實踐 109
4.6 潤物無聲:誠信 109
4.7 知識鞏固 109
項目5 利用外部中斷為電子鐘校準 113
任務(wù)5.1 熟悉中斷/事件線的特性 113
任務(wù)5.2 學(xué)會使用EXTI的結(jié)構(gòu)體及標準固件庫函數(shù) 116
任務(wù)5.3 利用外部中斷實現(xiàn)電子鐘校準的軟件設(shè)計 118
5.3.1 任務(wù)要求 118
5.3.2 編程要點 119
5.3.3 實例代碼 120
5.3.3 下載驗證 126
5.4 項目總結(jié) 126
5.5 動手實踐 126
5.6 潤物無聲:知識產(chǎn)權(quán) 127
5.7 知識鞏固 127
項目6 通過USART收發(fā)數(shù)據(jù) 130
任務(wù)6.1 理解串行通信協(xié)議 131
6.1.1 物理層 131
6.1.2 協(xié)議層 132
6.1.3 有效數(shù)據(jù)和數(shù)據(jù)校驗 133
任務(wù)6.2 熟悉STM32系列微控制器的USART 133
6.2.1 USART的特性 134
6.2.2 USART的功能 134
任務(wù)6.3 學(xué)會使用USART的結(jié)構(gòu)體及標準固件庫函數(shù) 139
任務(wù)6.4 通過USART收發(fā)數(shù)據(jù) 143
6.4.1 任務(wù)要求 143
6.4.2 編程要點 143
6.4.3 硬件連接 144
6.4.4 軟件編程 145
6.4.5 實例代碼 146
6.4.6 下載驗證 148
6.5 項目總結(jié) 151
6.6 動手實踐 151
6.7 潤物無聲:華為5G通信 151
6.8 知識鞏固 152
項目7 使用SPI總線操作外設(shè) 154
任務(wù)7.1 理解SPI協(xié)議 155
7.1.1 物理層 155
7.1.2 協(xié)議層 155
任務(wù)7.2 熟悉STM32系列微控制器的SPI 157
7.2.1 SPI的特性 158
7.2.2 SPI的功能 158
任務(wù)7.3 學(xué)會使用SPI的結(jié)構(gòu)體及標準固件庫函數(shù) 160
任務(wù)7.4 利用MAX7219實現(xiàn)8位數(shù)碼管的顯示功能 164
7.4.1 編程任務(wù) 164
7.4.2 硬件設(shè)計 164
7.4.3 軟件設(shè)計 166
7.4.4 實例代碼 169
7.4.5 下載驗證 172
7.5 項目總結(jié) 173
7.6 動手實踐 173
7.7 潤物無聲:6G爭奪戰(zhàn)已然打響 174
7.8 知識鞏固 174
項目8 使用定時器生成PWM信號 176
任務(wù)8.1 理解使用定時器生成PWM信號的原理 176
任務(wù)8.2 熟悉STM32系列微控制器的定時器 179
8.2.1 TIM2~TIM5的主要特性 179
8.2.2 TIM9~TIM14的主要特性 180
8.2.3 通用定時器的功能 181
任務(wù)8.3 學(xué)會使用定時器的結(jié)構(gòu)體和標準固件庫函數(shù) 189
任務(wù)8.4 使用定時器生成PWM信號的軟件設(shè)計 192
8.4.1 任務(wù)描述 192
8.4.2 編程要點 192
8.4.3 實例代碼 196
8.4.4 下載驗證 198
8.5 項目總結(jié) 199
8.6 項目拓展 199
8.7 動手實踐 199
8.8 潤物無聲:精益求精 199
8.9 知識鞏固 199
項目9 使用I2C總線驅(qū)動OLED 201
任務(wù)9.1 理解I2C總線協(xié)議 201
9.1.1 I2C總線的物理層 201
9.1.2 I2C總線的協(xié)議層 203
任務(wù)9.2 熟悉STM32系列微控制器的I2C總線 205
9.2.1 I2C總線接口的特性 205
9.2.2 I2C總線接口的功能 206
9.2.3 I2C總線的通信過程 208
任務(wù)9.3 學(xué)會使用I2C總線的結(jié)構(gòu)體及標準固件庫函數(shù) 209
任務(wù)9.4 使用I2C總線驅(qū)動OLED的軟件設(shè)計 216
9.4.1 編程任務(wù) 216
9.4.2 編程要點 217
9.4.3 硬件設(shè)計 217
9.4.4 軟件設(shè)計 217
9.4.5 實例代碼 223
9.4.6 下載驗證 236
9.5 項目總結(jié) 236
9.6 動手實踐 236
9.7 潤物無聲:柔性O(shè)LED 237
9.8 知識鞏固 237
項目10 通過ADC采集光敏傳感器輸出電壓值 241
任務(wù)10.1 熟悉STM32系列微控制器的ADC 241
10.1.1 ADC的特性 243
10.1.2 ADC的功能 243
任務(wù)10.2 學(xué)會使用ADC的結(jié)構(gòu)體及標準固件庫函數(shù) 249
任務(wù)10.3 通過ADC單通道采集光敏傳感器的輸出電壓 258
10.3.1 獨立模式下ADC單通道數(shù)據(jù)采集的硬件連接 258
10.3.2 獨立模式下ADC單通道數(shù)據(jù)采集的編程要點 259
10.3.3 實例代碼 261
10.3.4 下載驗證 263
10.4 項目總結(jié) 264
10.5 動手實踐 264
10.6 潤物無聲:集成電路工程技術(shù)人員 264
10.7 知識鞏固 265
項目11 嵌入式操作系統(tǒng)μC/OS-Ⅲ的移植 267
任務(wù)11.1 了解嵌入式操作系統(tǒng) 267
11.1.1 嵌入式系統(tǒng)的特點 267
11.1.2 常用的嵌入式操作系統(tǒng) 268
任務(wù)11.2 如何將μC/OS-Ⅲ移植到STM32F407開發(fā)板 270
11.2.1 裸機系統(tǒng)和多任務(wù)操作系統(tǒng)的區(qū)別 270
11.2.2 μCOS-Ⅲ的移植方法 272
任務(wù)11.3 如何在μC/OS-Ⅲ上實現(xiàn)單任務(wù)——LED閃爍 278
11.3.1 如何創(chuàng)建任務(wù) 279
11.3.2 啟動任務(wù) 281
11.3.3 任務(wù)總結(jié) 281
11.4 項目總結(jié) 281
11.5 動手實踐 281
11.6 潤物無聲:華為鴻蒙系統(tǒng) 282
11.7 知識鞏固 282
參考文獻 283