STM32嵌入式系統開發——基於STM32CubeMX和HAL庫

劉洪濤 安皓楠 隋釗龍 賈燕楓

  • 出版商: 清華大學
  • 出版日期: 2025-04-01
  • 定價: $354
  • 售價: 8.5$301
  • 語言: 簡體中文
  • ISBN: 730268331X
  • ISBN-13: 9787302683315
  • 相關分類: 嵌入式系統STM32
  • 下單後立即進貨 (約4週~6週)

  • STM32嵌入式系統開發——基於STM32CubeMX和HAL庫-preview-1
  • STM32嵌入式系統開發——基於STM32CubeMX和HAL庫-preview-2
  • STM32嵌入式系統開發——基於STM32CubeMX和HAL庫-preview-3
STM32嵌入式系統開發——基於STM32CubeMX和HAL庫-preview-1

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

相關主題

商品描述

"《STM32嵌入式系統開發——基於STM32CubeMX和HAL庫》是一部介紹嵌入式系統中STM32的基本原理和開發方法的立體化教程(含紙質圖書、教學課件、源代碼與視頻教程)。 《STM32嵌入式系統開發——基於STM32CubeMX和HAL庫》的第1章至第3章介紹了嵌入式系統、ARM Cortex系列架構、STM32系列微控制器及其特點以及STM32固件庫的作用,並介紹了STM32的開發環境的基礎知識和預備內容。第4章至第14章分別介紹了STM32上相關外設的基礎知識和開發方法,包括通用輸入/輸出接口GPIO、嵌套向量中斷控制器NVIC與外部中斷EXTI、時鐘樹與SysTick、串行通信USART、直接存儲器訪問DMA、定時器TIM、模數轉換器ADC、串行外設接口SPI、內部集成電路總線I2C、實時時鐘RTC、獨立看門狗IWDG的配置與應用,內容包括STM32上對應外設的功能特點、內部架構、涉及的HAL庫函數和寄存器等,並在每章的後面通過實驗詳細說明瞭相關外設的開發使用方法。第15章通過一個綜合的智能手錶項目,幫助讀者深入理解和掌握嵌入式系統開發的整體架構和綜合技術,並使用TouchGFX進行界面設計。 為便於讀者高效學習,快速掌握STM32的原理,本書作者精心製作了完整的教學課件、完整的實驗源代碼與豐富的配套視頻教程等內容,詳細內容請掃描書中相關的二維碼。 《STM32嵌入式系統開發——基於STM32CubeMX和HAL庫》適合作為廣大高校電腦專業大學生學習STM32嵌入式系統課程的教材,也可以作為STM32開發者的自學參考用書。"

目錄大綱

配套資源

第1章嵌入式系統概述

1.1嵌入式系統的發展

1.2嵌入式系統的定義和特點

1.3嵌入式系統的開發流程

第2章初識STM32

2.1ARM Cortex系列架構

2.2STM32系列MCU

2.3STM32固件庫

2.3.1獲取HAL庫固件包

2.3.2HAL庫文件分析

第3章STM32的開發工具介紹及安裝

視頻講解: 68分鐘,5集

3.1生成工程模板——STM32CubeMX

3.1.1STM32CubeMX的安裝

3.1.2固件包的安裝

3.1.3配置並生成代碼模板

3.2編輯編譯工程——MDKARM、STM32CubeIDE

3.2.1MDKARM

3.2.2STM32CubeIDE

3.3調試下載工具

3.3.1STLINK

3.3.2DAPLink

3.4串行通信工具

3.5STM32硬件開發平臺

3.6實驗: 用STM32CubeMX和MDK創建工程項目並調試

3.6.1配置STM32CubeMX工程

3.6.2使用MDK打開並編輯工程

3.6.3連接開發板調試程序

3.7main()函數之前的啟動流程

第4章通用輸入/輸出接口

視頻講解: 84分鐘,5集

4.1GPIO簡介

4.2GPIO的內部架構

4.3工作模式

4.3.1浮空輸入

4.3.2上拉輸入

4.3.3下拉輸入

4.3.4推輓輸出

4.3.5開漏輸出

4.3.6模擬輸入

4.3.7模擬輸出

4.3.8復用功能推輓模式

4.3.9復用功能開漏模式

4.4GPIO的STM32CubeMX配置

4.5GPIO的寄存器

4.6GPIO的HAL庫函數

4.7實驗: GPIO輸出之點亮LED燈

4.7.1應用場景及目的

4.7.2原理圖

4.7.3程序流程

4.7.4程序配置

4.7.5實驗現象

4.8實驗: GPIO輸入之按鍵輸入檢測

4.8.1應用場景及目的

4.8.2原理圖

4.8.3程序流程

4.8.4程序配置

4.8.5實驗現象

4.9習題

第5章中斷控制器NVIC與EXTI

視頻講解: 44分鐘,3集

5.1什麽是中斷

5.2嵌套向量中斷控制器NVIC

5.2.1NVIC簡介

5.2.2NVIC的優先級

5.2.3NVIC的STM32CubeMX配置

5.3EXTI

5.3.1EXTI簡介

5.3.2EXTI的內部架構

5.3.3GPIO的外部中斷

5.3.4EXTI的STM32CubeMX配置

5.3.5EXTI的寄存器

5.3.6EXTI的HAL庫配置流程

5.4實驗: 用外部中斷進行按鍵上升沿/下降沿檢測

5.4.1應用場景及目的

5.4.2原理圖

5.4.3程序流程

5.4.4程序配置

5.4.5實驗現象

5.5習題

第6章時鐘樹與SysTick

視頻講解: 31分鐘,3集

6.1時鐘樹

6.1.1時鐘樹簡介

6.1.2時鐘源

6.1.3多路復用器與分頻/倍頻器

6.1.4總線與外設

6.1.5時鐘樹的STM32CubeMX配置

6.2SysTick

6.2.1SysTick簡介

6.2.2SysTick的HAL庫函數

6.3實驗: SysTick之閃燈實驗

6.3.1應用場景及目的

6.3.2程序配置

6.3.3實驗現象

6.4習題

第7章串行通信USART

視頻講解: 85分鐘,5集

7.1通信方式分類

7.1.1按照連接方式分類

7.1.2按照同步方式分類

7.1.3按照傳輸方向分類

7.2串行通信簡介

7.2.1常見的串行通信協議

7.2.2波特率和採樣速率

7.2.3USART的數據幀格式

7.3USART簡介

7.4USART的內部架構

7.5USART的STM32CubeMX配置

7.6USART的寄存器

7.7USART的HAL庫函數

7.7.1初始化函數

7.7.2輪詢模式

7.7.3中斷模式

7.8實驗: USART之重定向printf()

7.8.1應用場景及目的

7.8.2原理圖

7.8.3程序配置

7.8.4實驗現象

7.9實驗: USART之定長數據的發送與接收(輪詢方式)

7.9.1應用場景及目的

7.9.2程序配置

7.9.3實驗現象

7.10實驗: USART之不定長數據的發送與接收(中斷方式)

7.10.1應用場景及目的

7.10.2程序配置

7.10.3實驗現象

7.11習題

第8章直接存儲器訪問

視頻講解: 28分鐘,2集

8.1DMA簡介

8.2DMA的內部架構

8.3DMA的通道

8.4DMA的中斷

8.5DMA的STM32CubeMX配置

8.6DMA的寄存器

8.7DMA的HAL庫函數

8.8實驗: USART之空閑中斷與 DMA配合接收

8.8.1應用場景及目的

8.8.2程序配置

8.8.3實驗現象

8.9習題

第9章定時器TIM

視頻講解: 121分鐘,8集

9.1定時器TIM簡介

9.2基本定時器TIM6/TIM7

9.2.1概述

9.2.2基本定時器的內部架構

9.3通用定時器TIM2/TIM3/TIM4/TIM5

9.3.1概述

9.3.2通用定時器的內部架構

9.3.3通用定時器的寄存器

9.4計數模式

9.4.1計數原理

9.4.2計數模式的STM32CubeMX配置

9.4.3計數模式的HAL庫函數

9.5輸入捕獲模式

9.5.1輸入捕獲原理

9.5.2輸入捕獲模式的STM32CubeMX配置

9.5.3輸入捕獲模式的HAL庫函數

9.6輸出比較模式

9.6.1輸出比較原理

9.6.2輸出比較模式的STM32CubeMX配置

9.6.3輸出比較模式的HAL庫函數

9.7PWM模式

9.7.1STM32的PWM模式

9.7.2PWM的STM32CubeMX配置

9.7.3PWM的HAL庫函數

9.8實驗: 基於基本定時器的翻轉LED指示燈

9.8.1應用場景及目的

9.8.2原理圖

9.8.3程序配置

9.8.4實驗現象

9.9實驗: 基於通用定時器的按鍵輸入捕獲實驗

9.9.1應用場景及目的

9.9.2程序流程

9.9.3原理圖

9.9.4程序配置

9.9.5實驗現象

9.10實驗: 基於通用定時器的PWM驅動風扇和電動機

9.10.1應用場景和目的

9.10.2程序流程

9.10.3原理圖

9.10.4程序配置

9.10.5實驗現象

9.11習題

第10章模數轉換器

視頻講解: 63分鐘,5集

10.1模數轉換簡介

10.2STM32的ADC簡介

10.2.1概述

10.2.2ADC的內部架構

10.3ADC時鐘與採樣時間

10.3.1ADC時鐘

10.3.2ADC採樣時間

10.4規則通道與註入通道

10.4.1STM32CubeMX配置

10.4.2寄存器

10.4.3HAL庫函數

10.5單次轉換與連續轉換模式

10.5.1單次轉換

10.5.2連續轉換

10.5.3不連續轉換

10.5.4STM32CubeMX配置

10.5.5寄存器

10.5.6HAL庫函數

10.6ADC的DMA傳輸方式

10.7實驗: ADC 單通道輪詢方式讀取

10.7.1應用場景及目的

10.7.2程序配置

10.7.3實驗現象

10.8實驗: ADC 多通道輪詢方式讀取

10.8.1應用場景及目的

10.8.2程序配置

10.8.3實驗現象

10.9實驗: ADC的DMA讀取(五向按鍵)

10.9.1應用場景及目的

10.9.2程序流程

10.9.3原理圖

10.9.4程序配置

10.9.5實驗現象

10.10習題

第11章串行外設接口

視頻講解: 72分鐘,4集

11.1SPI總線簡介

11.2STM32的SPI接口

11.2.1特性

11.2.2SPI的內部架構

11.3SPI的STM32CubeMX配置

11.4SPI的寄存器

11.5SPI的HAL庫函數

11.6實驗: 用SPI總線驅動顯示屏

11.6.1應用場景及目的

11.6.2LCD基礎知識

11.6.3ILI9341驅動芯片

11.6.4程序流程

11.6.5原理圖

11.6.6程序配置

11.6.7實驗現象

11.7實驗: 用SPI總線顯示圖片

11.7.1應用場景及目的

11.7.2圖片轉換原理

11.7.3程序配置

11.7.4實驗現象

11.8習題

第12章四路串行外設接口

視頻講解: 37分鐘,2集

12.1QSPI簡介

12.2STM32的QSPI接口

12.3STM32CubeMX配置

12.4HAL庫函數

12.5實驗: 用QSPI總線驅動NOR Flash W25Q128

12.5.1應用場景及目的

12.5.2W25Q128

12.5.3程序流程

12.5.4原理圖

12.5.5程序配置

12.5.6實驗現象

12.6習題

第13章內部集成電路總線I2C

視頻講解: 54分鐘,4集

13.1I2C總線基礎知識

13.1.1I2C簡介

13.1.2電路原理

13.1.3通信時序

13.2STM32的I2C接口

13.2.1特性

13.2.2內部架構

13.3I2C的STM32CubeMX配置

13.4I2C的HAL庫函數

13.5實驗: 用I2C總線讀取溫濕度傳感器

13.5.1應用場景及目的

13.5.2SHT20溫濕度傳感器

13.5.3程序流程

13.5.4原理圖

13.5.5程序配置

13.5.6實驗現象

13.6實驗: 用I2C總線驅動觸摸屏

13.6.1應用場景及目的

13.6.2FT6336觸摸屏芯片

13.6.3原理圖

13.6.4程序配置

13.6.5實驗現象

第14章實時時鐘

視頻講解: 35分鐘,2集

14.1RTC簡介

14.2RTC的功能

14.2.1RTC二進制、BCD或混合模式

14.2.2實時時鐘和日歷

14.2.3可編程鬧鐘

14.2.4時間戳功能

14.2.5備份寄存器

14.3RTC的STM32CubeMX配置

14.4RTC的寄存器

14.5RTC的HAL庫函數

14.6實驗: 驅動RTC

14.6.1應用場景及目的

14.6.2程序配置

14.6.3實驗現象

14.7習題

第15章獨立看門狗

視頻講解: 13分鐘,2集

15.1IWDG簡介

15.2內部架構

15.3功能和時序

15.4STM32CubeMX配置

15.5IWDG的HAL庫函數

15.6IWDG的寄存器

15.7實驗: 用按鍵實現看門狗重載

15.7.1應用場景及目的

15.7.2程序配置

15.7.3實驗現象

15.8習題

第16章綜合項目: 智能手錶

16.1軟件系統方案

16.2TouchGFX

16.3界面設計

參考文獻