STM32嵌入式應用開發——基於STM32CubeMX和Keil μVision5開發環境(微課視頻版)
胡永華 陳雪花
商品描述
《STM32嵌入式應用開發——基於STM32CubeMX和KeilμVision5開發環境(微課視頻版)》系統論述STM32嵌入式應用開發技術,圍繞STM32F10x系列微控制器展開,涵蓋從基礎原理到實踐應用的全流程知識,提供開發所需的程序代碼、教學課件、教學大綱等數字資源,助力開發者掌握STM32嵌入式應用開發核心能力。 全書共分3部分:第1部分(第1章和第2章)為基礎篇,著重介紹ARM Cortex-M3內核基礎知識,包括STM32F10x系列微控制器結構與最小系統,基於HAL庫的開發環境搭建等。第2部分(第3~8章)為外設通信篇,講解GPIO、EXTI、USART、DMA、I2C、SPI外設的基本結構、HAL庫函數,搭配LED、按鍵、串口、OLED、Flash驅動等應用示例。第3部分(第9~11章)為高級功能篇,闡述基礎定時器、通用定時器、ADC的工作原理與HAL庫驅動函數,提供相關應用示例。 為幫助讀者高效學習,書中配備了詳細的硬件電路示意圖、寄存器配置說明、函數調用示例及思考與練習,同時提供STM32CubeMX配置流程、Keil工程搭建步驟及示例源代碼,便於讀者邊學邊練,快速掌握STM32嵌入式應用開發技能。 《STM32嵌入式應用開發——基於STM32CubeMX和KeilμVision5開發環境(微課視頻版)》適合作為高校電子信息、自動化、計算機等相關專業的教材,也可作為嵌入式開發培訓機構的教學資料,還適合從事STM32嵌入式開發的工程師作為自學參考用書。
目錄大綱
目錄
第1部分基礎篇
第1章ARM CortexM3內核與STM32微控制器
1.1STM32微控制器概述
1.2ARM處理器
1.2.1ARM體系結構的特點
1.2.2ARM系列微處理器
1.2.3ARM CortexM3系列處理器
1.3STM32F10x系列微控制器外部結構
1.3.1STM32F10x系列微控制器命名規則
1.3.2STM32F10x系列微控制器引腳功能
1.4STM32F10x系列微控制器內部結構
1.4.1STM32F10x內部總線
1.4.2STM32F10x內部時鐘系統
1.4.3STM32F10x內部復位系統
1.4.4STM32F10x內部存儲器結構
1.5STM32F10x最小系統電路設計
思考與練習
第2章STM32開發環境搭建
視頻講解: 40分鐘,4集
2.1STM32開發模式
2.1.1寄存器開發模式
2.1.2標準外設庫開發模式
2.1.3HAL庫開發模式
2.2基於HAL庫開發平臺的搭建
2.2.1交叉編譯環境
2.2.2安裝STLink V2驅動
2.2.3安裝集成開發環境Keil μVision5
2.2.4安裝STM32CubeMX
2.3STM32F1固件庫的文件結構
2.4STM32CubeMX生成的工程結構
思考與練習
第2部分外設通信篇
第3章通用輸入/輸出
視頻講解: 50分鐘,3集
3.1GPIO概述
3.2GPIO的基本結構
3.2.1GPIO的寄存器
3.2.2GPIO的工作模式
3.2.3GPIO的輸出速度
3.3GPIO的HAL庫接口函數
3.4GPIO應用示例
3.4.1示例1: 阻塞方式實現LED燈閃爍
3.4.2示例2: 非阻塞方式實現LED燈閃爍
3.4.3示例3: 按鍵輸入
思考與練習
第4章外部中斷EXTI
視頻講解: 16分鐘,1集
4.1中斷的相關概念
4.1.1什麼是中斷
4.1.2中斷優先級
4.1.3中斷嵌套
4.1.4中斷執行流程
4.2STM32中斷和異常
4.2.1中斷向量表
4.2.2NVIC基本結構
4.2.3NVIC優先級分組
4.2.4STM32中斷服務例程
4.3STM32外部中斷EXTI
4.4EXTI的HAL庫接口函數
4.5EXTI應用示例
4.5.1示例功能和STM32CubeMX項目設置
4.5.2項目初始代碼分析
4.5.3編寫用戶功能代碼
4.5.4中斷優先級測試
思考與練習
第5章串口通信
視頻講解: 44分鐘,3集
5.1通信概述
5.2異步串行通信
5.2.1異步串行通信協議
5.2.2異步串行通信接口
5.2.3USB轉串口
5.3STM32的USART模塊
5.3.1USART內部結構
5.3.2校驗控制
5.4USART編程方式
5.5串口的HAL驅動程序
5.5.1常用功能函數
5.5.2常用的宏函數
5.5.3中斷事件與回調函數
5.6串口通信應用示例
5.6.1硬件電路和示例功能
5.6.2STM32CubeMX項目設置
5.6.3輪詢方式實現串口通信
5.6.4中斷方式實現串口通信
思考與練習
第6章DMA
視頻講解: 42分鐘,3集
6.1STM32的DMA內部結構
6.1.1DMA請求與DMA通道
6.1.2仲裁器與優先權
6.2DMA傳輸參數配置
6.3DMA的HAL驅動程序
6.3.1DMA的HAL函數概述
6.3.2DMA傳輸初始化配置
6.3.3啟動DMA傳輸
6.3.4DMA的中斷
6.4串口的DMA傳輸應用示例
6.4.1示例1: 固定長度數據收發
6.4.2示例2: 接收不定長度數據和簡易數據包解析
思考與練習
第7章I2C通信
視頻講解: 37分鐘,3集
7.1I2C總線和通信協議
7.1.1I2C物理層
7.1.2I2C協議層
7.1.3I2C外設的工作特性及內部結構
7.2I2C的HAL驅動程序
7.2.1I2C接口的初始化
7.2.2阻塞式數據傳輸
7.2.3中斷方式數據傳輸
7.2.4DMA方式數據傳輸
7.3OLED顯示器
7.3.1顯示器的基本參數
7.3.20.96英寸OLED顯示器特性
7.3.3SSD1306驅動芯片簡介
7.4I2C應用示例: 驅動OLED
7.4.1示例功能和STM32CubeMX項目設置
7.4.2程序功能的實現
7.4.3移植OLED驅動
思考與練習
第8章SPI通信
視頻講解: 38分鐘,3集
8.1SPI接口和通信協議
8.1.1SPI硬件接口
8.1.2SPI傳輸協議
8.1.3CPOL/CPHA及通信模式
8.1.4SPI外設的工作特性及內部結構
8.2SPI的HAL驅動程序
8.2.1SPI初始化和阻塞式數據傳輸
8.2.2中斷方式數據傳輸
8.2.3DMA方式數據傳輸
8.3Flash存儲芯片W25Q64
8.3.1W25Q64簡介
8.3.2存儲空間劃分
8.3.3操作指令
8.3.4狀態寄存器
8.3.5Flash數據讀寫的原則
8.4SPI應用示例: 輪詢方式讀寫W25Q64
8.4.1示例功能與STM32CubeMX項目設置
8.4.2初始程序
8.4.3編寫W25Q64的驅動程序
8.4.4W25Q64功能測試
思考與練習
第3部分高級功能篇
第9章基礎定時器
視頻講解: 19分鐘,2集
9.1定時器概述
9.2基礎定時器工作特性和內部結構
9.3基礎定時器HAL驅動程序
9.3.1基礎定時器主要函數
9.3.2其他通用操作函數
9.3.3中斷處理
9.4基礎定時器應用示例
9.4.1示例功能和STM32CubeMX項目配置
9.4.2程序功能實現
思考與練習
第10章通用定時器
視頻講解: 80分鐘,6集
10.1通用定時器概述
10.1.1功能概述
10.1.2通用定時器內部結構
10.2常用功能原理和HAL驅動
10.2.1生成PWM波
10.2.2輸出比較
10.2.3輸入捕獲
10.2.4PWM輸入模式
10.2.5通用定時器中斷事件和回調函數
10.3通用定時器應用示例1: 生成PWM
10.3.1電路原理和STM32CubeMX項目配置
10.3.2輸出固定占空比PWM波
10.3.3輸出占空比可調的PWM波
10.4通用定時器應用示例2: 輸出比較
10.4.1示例功能和STM32CubeMX項目設置
10.4.2程序功能實現
10.5通用定時器應用示例3: PWM輸入捕獲
10.5.1示例功能和STM32CubeMX項目設置
10.5.2程序功能實現
思考與練習
第11章模擬數字轉換
視頻講解: 56分鐘,6集
11.1ADC功能概述
11.1.1ADC的特性
11.1.2ADC的工作原理
11.1.3多重ADC模式
11.2ADC的HAL驅動程序
11.2.1常規通道
11.2.2註入通道
11.2.3多重ADC
11.3ADC應用示例1: 軟件方式啟動ADC
11.3.1硬件電路和示例功能
11.3.2STM32CubeMX項目設置
11.3.3程序功能實現
11.4ADC應用示例2: 定時器觸發ADC
11.4.1示例功能和STM32CubeMX項目設置
11.4.2程序功能實現
11.5ADC應用示例3: 多通道和DMA傳輸
11.5.1示例功能和STM32CubeMX項目設置
11.5.2程序功能實現
思考與練習







