嵌入式系統設計 (基於STM32F4)

徐靈飛,黃宇,賈國強

  • 出版商: 電子工業
  • 出版日期: 2020-08-01
  • 售價: $390
  • 貴賓價: 9.5$371
  • 語言: 簡體中文
  • 頁數: 344
  • ISBN: 7121388596
  • ISBN-13: 9787121388590
  • 相關分類: 嵌入式系統STM32
  • 立即出貨(限量) (庫存=3)

買這商品的人也買了...

商品描述

本書主要以STM32F429微控制器為對象講解嵌入式系統設計方法、實例。全書分為17章,主要對嵌入式系統,ARM Cortex-M體系架構,STM32F429微控制器內部構造及其常用的片上外設結構、應用實例、程序開發方法進行了講解。書中對常用的應用進行了實例講解,給出了清晰的系統應用設計思路,並明確了每個應用的設計步驟,提供了每個應用的程序源代碼,使初學者在學習了相關基本知識後能夠對具體的設計一看即懂。本書設計了適量習題,習題內容緊貼各章核心內容,涵蓋基本概念及相關應用,能夠起到鞏固重要知識點的作用。本書適用於電子、通信、電氣、測控、電腦、物聯網等專業的在校生和嵌入式系統設計的愛好者。

目錄大綱

第1章 嵌入式系統 1 1.1 嵌入式系統概述 1 1.1.1 嵌入式系統的定義 1 1.1.2 嵌入式系統的特點 1 1.1.3 嵌入式系統的應用 2 1.2 嵌入式系統的體系 2 1.2.1 硬件架構 3 1.2.2 軟件層次 3 1.3 嵌入式硬件系統 6 1.3.1 嵌入式處理器分類 6 1.3.2 典型嵌入式處理器 7 1.3.3 存儲系統 9 1.3.4 I/O接口 10 1.3.5 人機接口 10 1.3.6 電源及其他設備 10 1.4 嵌入式操作系統 10 1.4.1 嵌入式操作系統的發展 10 1.4.2 嵌入式操作系統的分類 11 1.4.3 嵌入式實時操作系統的功能 12 1.4.4 常用的嵌入式操作系統 13 1.5 嵌入式系統的設計 14 1.5.1 嵌入式系統設計流程 14 1.5.2 嵌入式系統開發環境搭建 15 習題 16 第2章 ARM Cortex-M體系架構 18 2.1 ARM Cortex體系架構概述 18 2.1.1 CISC和RISC 18 2.1.2 ARM架構發展史 20 2.1.3 ARM處理器的類型 20 2.1.4 Cortex-M系列處理器 22 2.2 Cortex-M4內核基礎 23 2.2.1 寄存器組 24 2.2.2 堆棧操作 26 2.2.3 特殊功能寄存器組 27 2.2.4 操作模式 28 2.3 存儲器系統 30 2.3.1 數據類型 30 2.3.2 存儲形式 30 2.3.3 存儲器映射 31 2.3.4 位帶區 32 2.4 異常和中斷 33 2.4.1 向量表 34 2.4.2 優先級 35 2.4.3 響應過程 36 2.4.4 復位 38 習題 39 第3章 STM32F429微控制器 40 3.1 STM32系列微控制器 40 3.1.1 STM32系列微控制器概述 40 3.1.2 芯片命名規則 41 3.1.3 開發工具 41 3.1.4 STM32標準函數庫介紹 46 3.2 STM32F429微控制器結構 51 3.2.1 芯片資源 51 3.2.2 芯片內部結構 52 3.2.3 芯片引腳和功能 55 3.2.4 電源系統 57 3.2.5 復位系統 60 3.3 STM32F4系列微控制器存儲器映射和寄存器 61 3.3.1 存儲器映射 61 3.3.2 自舉配置 63 3.3.3 寄存器映射 63 習題 67 第4章 啟動文件和SysTick 69 4.1 啟動文件 69 4.1.1 啟動文件概述 69 4.1.2 啟動步驟 69 4.2 啟動文件代碼講解 70 4.3 SysTick 75 4.3.1 SysTick概述 75 4.3.2 SysTick的庫函數 76 4.3.3 應用實例 78 習題 79 第5章 GPIO 80 5.1 GPIO結構原理 80 5.1.1 GPIO功能描述 80 5.1.2 GPIO輸入配置 81 5.1.3 GPIO輸出配置 82 5.1.4 GPIO復用功能配置 84 5.1.5 GPIO模擬功能配置 85 5.2 GPIO相關寄存器 86 5.2.1 模式寄存器 86 5.2.2 輸出類型寄存器 86 5.2.3 輸出速度寄存器 87 5.2.4 上拉/下拉寄存器 87 5.2.5 輸入數據寄存器 88 5.2.6 輸出數據寄存器 88 5.2.7 置位/復位寄存器 89 5.2.8 配置鎖存寄存器 90 5.2.9 復用功能寄存器 90 5.3 GPIO典型應用步驟及常用庫函數 92 5.3.1 GPIO典型應用步驟 92 5.3.2 常用庫函數 93 5.4 應用實例 97 5.4.1 GPIO輸出應用實例 97 5.4.2 GPIO輸入應用實例 99 5.4.3 GPIO復用應用實例 101 5.4.4 矩陣按鍵應用 102 習題 106 第6章 NVIC 108 6.1 NVIC的中斷類型及中斷管理方法 108 6.1.1 中斷類型 108 6.1.2 中斷管理方法 109 6.2 常用庫函數 110 6.3 應用實例 112 習題 113 第7章 EXTI 114 7.1 EXTI概述 114 7.1.1 EXTI結構 114 7.1.2 GPIO相關EXTI線 116 7.2 EXTI典型應用步驟及常用庫函數 116 7.2.1 EXTI典型應用步驟 116 7.2.2 常用庫函數 117 7.3 應用實例 119 習題 121 第8章 時鐘系統 122 8.1 時鐘系統結構 122 8.1.1 時鐘源 124 8.1.2 HSE時鐘 124 8.1.3 PLL配置 125 8.1.4 LSE 時鐘 126 8.1.5 LSI時鐘 126 8.1.6 時鐘輸出功能 126 8.2 PLL時鐘系統配置步驟及常用庫函數 126 8.2.1 PLL時鐘系統配置步驟 127 8.2.2 常用庫函數 127 8.3 應用實例 130 習題 132 第9章 定時器系統 133 9.1 定時器系統概述 133 9.1.1 定時器結構 134 9.1.2 時鐘源 134 9.2 基本定時功能 137 9.2.1 時基單元 137 9.2.2 計數模式 138 9.3 捕抓/比較功能 141 9.3.1 輸入捕抓/比較輸出通道 141 9.3.2 輸入捕抓模式 143 9.3.3 輸出模式 144 9.3.4 編碼器接口模式 147 9.4 定時器典型應用步驟及常用庫函數 150 9.4.1 基本定時功能應用步驟 150 9.4.2 輸入捕抓模式應用步驟 150 9.4.3 PWM輸出應用步驟 152 9.4.4 編碼器接口應用步驟 153 9.4.5 常用庫函數 155 9.5 應用實例 159 9.5.1 定時器控制實現燈閃爍 159 9.5.2 直流電機調速控制 161 9.5.3 測量外部輸入脈沖頻率 164 9.5.4 測量電機轉速和方向 167 習題 170 第10章 DMA控制器 171 10.1 DMA控制器概述 171 10.1.1 DMA控制器主要特性 171 10.1.2 DMA控制器結構 172 10.2 DMA控制器功能 173 10.2.1 DMA事務 173 10.2.2 數據流 174 10.2.3 通道 174 10.2.4 仲裁 175 10.2.5 循環模式 176 10.2.6 單次和突發模式 176 10.2.7 FIFO 176 10.2.8 DMA中斷 177 10.2.9 DMA數據流配置過程 177 10.3 DMA典型應用步驟及常用庫函數 178 10.3.1 DMA典型應用步驟 178 10.3.2 常用庫函數 179 10.4 應用實例 181 習題 183 第11章 通用同步異步收發器(USART) 184 11.1 通信概述 184 11.1.1 並行通信和串行通信 184 11.1.2 單工通信、半雙工通信、全雙工通信 185 11.1.3 同步通信和異步通信 185 11.1.4 RS-232 186 11.2 STM32F429微控制器的USART結構 188 11.2.1 USART概述 188 11.2.2 波特率設置 192 11.2.3 USART中斷 193 11.2.4 DMA控制 193 11.3 USART典型應用步驟及常用庫函數 194 11.3.1 USART典型應用步驟 194 11.3.2 常用庫函數 194 11.4 應用實例 197 11.4.1 通過串口向電腦傳輸100個字節 197 11.4.2 串口與電腦回顯功能實現 199 11.4.3 利用DMA通過串口向電腦傳輸1000個字節 202 習題 204 第12章 模數轉換器(ADC) 205 12.1 ADC概述 205 12.1.1 A/D轉換過程 205 12.1.2 ADC原理 206 12.2 STM32F429微控制器的ADC結構 208 12.3 STM32F429微控制器的ADC功能 212 12.3.1 ADC使能和啟動 212 12.3.2 時鐘配置 213 12.3.3 轉換模式 213 12.3.4 DMA控制 214 12.4 ADC典型應用步驟及常用庫函數 215 12.4.1 ADC典型應用步驟 215 12.4.2 常用庫函數 216 12.5 應用實例 220 12.5.1 規則組單通道採集外部電壓 220 12.5.2 使用DMA和規則組通道實現多路模擬信號採集 222 習題 227 第13章 數模轉換器(DAC) 228 13.1 DAC概述 228 13.1.1 基本概念 228 13.1.2 DAC原理 229 13.2 STM32F429微控制器的DAC結構 230 13.3 STM32F429微控制器的DAC功能 231 13.4 DAC典型應用步驟及常用庫函數 234 13.4.1 DAC典型應用步驟 234 13.4.2 常用庫函數 235 13.5 應用實例 236 習題 239 第14章 I2C控制器 240 14.1 I2C協議 240 14.1.1 I2C物理層 240 14.1.2 I2C協議層 241 14.2 軟件模擬I2C協議程序分析 244 14.2.1 I2C引腳配置 244 14.2.2 軟件模擬開始信號和結束信號 246 14.2.3 軟件模擬檢測ACK信號 246 14.2.4 軟件模擬產生ACK信號和NACK信號 247 14.2.5 軟件模擬發送一個字節數據 247 14.2.6 軟件模擬接收一個字節數據 248 14.2.7 軟件模擬I2C完整寫操作 248 14.2.8 軟件模擬I2C完整讀操作 249 14.3 模擬I2C總線協議讀寫AT24CXX系列EEPROM實驗 250 14.4 I2C控制器概述 254 14.4.1 I2C控制器主要特性 254 14.4.2 I2C控制器結構 254 14.4.3 I2C控制器主模式 255 14.4.4 I2C控制器從模式 256 14.4.5 I2C控制器中斷 257 14.5 I2C典型應用步驟及常用庫函數 258 14.5.1 I2C典型應用步驟 258 14.5.2 常用庫函數 258 14.6 應用實例 261 14.6.1 I2C控制器主模式測試 261 14.6.2 I2C控制器從模式測試 266 習題 269 第15章 SPI控制器 270 15.1 SPI協議 270 15.1.1 SPI數據傳輸 270 15.1.2 SPI通信的時鐘極性和時鐘相位 271 15.1.3 4種SPI模式 271 15.2 SPI控制器概述 273 15.2.1 SPI控制器主要特性 273 15.2.2 SPI控制器結構 273 15.2.3 SPI主機配置 274 15.2.4 SPI從機配置 275 15.2.5 主模式的全雙工發送和接收過程 275 15.2.6 SPI狀態標志 276 15.2.7 SPI中斷 276 15.3 SPI典型應用步驟及常用庫函數 277 15.3.1 SPI典型應用步驟 277 15.3.2 常用庫函數 277 15.4 應用實例 279 習題 289 第16章 外部存儲控制器 290 16.1 FMC概述 290 16.1.1 FMC主要特性 290 16.1.2 FMC結構 291 16.1.3 SDRAM簡介 292 16.1.4 SDRAM初始化 294 16.2 FMC擴展SDRAM典型應用步驟及常用庫函數 295 16.2.1 FMC擴展SDRAM典型應用步驟 295 16.2.2 常用庫函數 296 16.3 應用實例 299 習題 302 第17章 LCD控制器 303 17.1 液晶顯示技術及液晶顯示器控制原理 303 17.1.1 液晶顯示技術 303 17.1.2 液晶顯示器控制原理 304 17.2 LTDC控制器概述 307 17.2.1 LTDC控制器主要特性 307 17.2.2 LTDC控制器結構 308 17.3 DMA2D控制器概述 310 17.3.1 DMA2D控制器結構 310 17.3.2 DMA2D控制器事務 311 17.3.3 DMA2D控制器配置 312 17.4 字符顯示 312 17.4.1 字符編碼 312 17.4.2 字模的生成 313 17.5 LTDC典型應用步驟及常用庫函數 317 17.5.1 LTDC典型應用步驟 317 17.5.2 常用庫函數 318 17.6 應用實例 323 習題 332 參考文獻 334