相關主題
商品描述
本書秉持「新工科」理念,從科研、教學和工程實際應用出發,理論聯繫實際,全面系統地講述了STM32嵌入式單片機的原理與應用實例。 本書共分10章,包括:緒論、STM32微控制器、嵌入式開發環境的建構、中斷系統、通用輸入/輸出介面、定時器、類比/數位轉換器(ADC)、USART串列通訊、SPI與I2C序列匯流排和DMA控制器。本書內容豐富,體系先進,結構合理,理論與實務結合,尤其註重工程應用技術。 本書可作為高等院校自動化、機器人、儀器、人工智慧、電子資訊和物聯網等專業的教材,也可供從事STM32系列嵌入式單晶片開發的工程技術人員參考
目錄大綱
前言
第1章 緒論 1
1.1 微型計算機概述 1
1.1.1 微型計算機的基本構成 2
1.1.2 微處理器、微型計算機與微型
電腦系統的關係 4
1.1.3 微處理器的常用技術 5
1.1.4 微處理器的應用 8
1.2 ARM概述 10
1.2.1 ARM簡介 10
1.2.2 ARM架構的演進 11
1.2.3 ARM體系結構與特點 12
1.2.4 Cortex-M3微處理器的主要特性 14
1.2.5 Cortex-M3微處理器的結構 16
1.3 嵌入式系統 17
1.3.1 嵌入式系統概述 18
1.3.2 嵌入式系統和通用計算機
系統比較 19
1.3.3 嵌入式系統的特點 20
1.4 嵌入式系統的軟體 21
1.4.1 無作業系統的嵌入式軟體 21
1.4.2 帶作業系統的嵌入式軟體 22
1.4.3 典型嵌入式作業系統 22
1.4.4 軟體架構選擇建議 23
1.5 嵌入式系統的應用領域 24
1.6 嵌入式控制系統 24
習題 26
第2章 STM32 微控制器 27
2.1 STM32微控制器概述 27
2.1.1 STM32微控制器產品線 28
2.1.2 STM32微控制器的命名規則 31
2.1.3 STM32微控制器的選型 34
2.2 STM32F1系列產品系統架構及STM32F103ZET6內部架構 35
2.2.1 STM32F1系列產品系統架構 36
2.2.2 STM32F103ZET6內部架構 38
2.3 STM32F103ZET6的記憶體映像 41
2.3.1 STM32F103ZET6內建週邊的
地址範圍 42
2.3.2 嵌入式SRAM 43
2.3.3 嵌入式快閃記憶體 44
2.4 STM32F103ZET6的時鐘結構 45
2.5 STM32F103VET6的腳位 48
2.6 STM32F103VET6最小系統設計 53
習題 56
第3章 嵌入式開發環境的建構 57
3.1 Keil MDK安裝配置 57
3.1.1 Keil MDK簡介 57
3.1.2 Keil MDK下載 59
3.1.3 Keil MDK安裝 61
3.1.4 安裝庫檔案 63
3.2 Keil MDK下新工程的創建 64
3.2.1 建立資料夾 64
3.2.2 打開Keil μVision 65
3.2.3 新建工程 65
3.3 Cortex微控制器軟體接口
標準CMSIS 68
3.3.1 CMSIS介紹 68
3.3.2 STM32F10x標準函數庫 69
3.4 STM32F103開發板的選擇 72
3.5 STM32仿真器的選擇 74
習題 76
第4章 中斷系統 77
4.1 中斷的基本概念 77
4.1.1 中斷的定義 77
4.1.2 中斷的應用 78
4.1.3 中斷源與中斷屏蔽 79
4.1.4 中斷處理過程 79
4.1.5 中斷優先權與中斷嵌套 80
4.2 STM32F103的中斷系統 81
4.2.1 巢狀向量中斷控制器(NVIC) 81
4.2.2 STM32F103的中斷優先權 81
4.2.3 STM32F103的中斷向量表 82
4.2.4 STM32F103的中斷服務程序 85
4.3 STM32F103的外部中斷/事件控制器(EXTI) 85
4.3.1 EXTI的內部結構 86
4.3.2 EXTI的工作原理 87
4.3.3 EXTI的主要特性 88
4.4 STM32F10x的中斷系統函式庫函數 88
4.4.1 STM32F10x的NVIC相關庫
函數 89
4.4.2 STM32F10x的EXTI相關函式庫
函數 93
4.4.3 EXTI中斷線GPIO腳映射庫
函數 96
4.5 外部中斷設計流程 97
4.5.1 NVIC設定 97
4.5.2 中斷介面配置 98
4.5.3 中斷處理 98
4.6 外部中斷設計實例 99
4.6.1 外部中斷的硬體設計 99
4.6.2 外部中斷的軟體設計 100
習題 105
第5章 通用輸入/輸出介面 106
5.1 通用輸入/輸出介面概述 106
5.1.1 輸入頻道 107
5.1.2 輸出通道 108
5.2 GPIO的功能 108
5.2.1 普通I/O功能 108
5.2.2 單獨的位元設定或位元清除 108
5.2.3 外部中斷/喚醒線 108
5.2.4 復用功能(AF) 108
5.2.5 軟體重新映射I/O復用功能 109
5.2.6 GPIO鎖定機制 109
5.2.7 輸入配置 109
5.2.8 輸出配置 110
5.2.9 復用功能配置 110
5.2.10 類比輸入配置 111
5.3 GPIO常用函式庫函數 111
5.4 GPIO使用流程 119
5.4.1 普通GPIO配置 119
5.4.2 I/O復用功能AFIO配置 119
5.5 GPIO輸出應用實例 120
5.5.1 GPIO輸出應用的硬體設計 120
5.5.2 GPIO輸出應用的軟體設計 120
5.6 GPIO輸入應用實例 126
5.6.1 硬體設計 126
5.6.2 軟體設計 126
習題 129
第6章 定時器 130
6.1 STM32F103定時器概述 130
6.2 基本定時器 131
6.2.1 基本定時器簡介 131
6.2.2 基本定時器的主要特性 131
6.2.3 基本定時器的功能 132
6.2.4 基本定時器的暫存器 134
6.3 通用定時器 134
6.3.1 通用定時器簡介 134
6.3.2 通用定時器的主要功能 134
6.3.3 通用定時器的功能描述 135
6.3.4 通用定時器的工作模式 138
6.3.5 通用定時器的暫存器 142
6.4 高級定時器 143
6.4.1 高階定時器簡介 143
6.4.2 高級定時器的結構 143
6.5 定時器函式庫函數 144
6.6 定時器應用實例 156
6.6.1 通用定時器配置流程 156
6.6.2 定時器應用的硬體設計 157
6.6.3 定時器應用的軟體設計 157
習題 161
第7章 類比/數位轉換器(ADC) 162
7.1 類比量輸入頻道 162
7.2 類比量輸入訊號類型與量程
自動轉換 163
7.2.1 類比量輸入訊號類型 163
7.2.2 量程自動轉換 163
7.3 STM32F103VET6整合的
ADC模組 163
7.3.1 STM32的ADC概述 164
7.3.2 STM32的ADC模組結構 164
7.3.3 STM32的ADC配置 164
7.3.4 STM32的ADC應用特徵 169
7.4 ADC庫函數 172
7.5 ADC應用實例 181
7.5.1 A/D轉換配置流程 181
7.5.2 ADC應用的硬體設計 182
7.5.3 ADC應用的軟體設計 182
習題 188
第8章 USART串行通訊 189
8.1 串行通訊基礎 189
8.1.1 串列非同步通訊資料格式 189
8.1.2 連接握手 190
8.1.3 確認 190
8.1.4 中斷 190
8.1.5 輪詢 191
8.2 USART工作原理 191
8.2.1 USART介紹 191
8.2.2 USART主要特性 191
8.2.3 USART功能概述 192
8.2.4 USART通訊時序 194
8.2.5 USART中斷 194
8.2.6 USART相關暫存器 195
8.3 USART庫函數 195
8.4 USART串行通訊應用實例 203
8.4.1 USART的基本配置流程 203
8.4.2 USART串行通訊應用的
硬體設計 205
8.4.3 USART串行通訊應用的
軟體設計 205
習題 212
第9章 SPI與I2C序列匯流排 213
9.1 SPI通訊原理 213
9.1.1 SPI介紹 213
9.1.2 SPI互連 214
9.2 STM32F103的SPI工作原理 215
9.2.1 SPI主要特徵 215
9.2.2 SPI內部結構 216
9.2.3 時脈訊號的相位與極性 217
9.2.4 資料幀格式 218
9.2.5 配置SPI為主設備模式 219
9.2.6 配置SPI為從設備模式 220
9.2.7 SPI狀態標誌與中斷 220
9.2.8 SPI發送資料和接收資料 221
9.3 SPI函式庫函數 222
9.4 SPI串列匯流排應用實例 225
9.4.1 SPI配置流程 225
9.4.2 SPI序列匯流排應用的硬體設計 225
9.4.3 SPI串列匯流排應用的軟體設計 227
9.5 I2C通訊原理 234
9.5.1 I2C序列匯流排概述 234
9.5.2 I2C匯流排的資料傳送 235
9.6 STM32F103的I2C介面 239
9.6.1 STM32F103的I2C主要特性 239
9.6.2 STM32F103的I2C內部結構 239
9.6.3 STM32F103的I2C模式選擇 240
9.7 STM32F103的I2C庫函數 241
9.8 I2C序列匯流排應用實例 246
9.8.1 I2C配置流程 247
9.8.2 I2C序列匯流排應用的硬體設計 247
9.8.3 I2C序列匯流排應用的軟體設計 247
習題 254
第10章 DMA控制器 255
10.1 DMA的結構與主要特徵 255
10.2 DMA的功能描述 256
10.2.1 DMA處理 256
10.2.2 仲裁器 257
10.2.3 DMA通道 257
10.2.4 DMA中斷 258
10.3 DMA庫函數 259
10.4 DMA應用實例 265
10.4.1 DMA配置流程 265
10.4.2 DMA應用的硬體設計 266
10.4.3 DMA應用的軟體設計 267
習題 271
參考文獻 272