Arm Cortex-M3嵌入式系統——基於STM32Cube和HAL庫的開發方法
李正軍、李瀟然
相關主題
商品描述
目錄大綱
目錄
第1章緒論
1.1嵌入式系統
1.1.1嵌入式系統概述
1.1.2嵌入式系統和通用電腦系統比較
1.1.3嵌入式系統的特點
1.2嵌入式系統的組成
1.3嵌入式系統的軟件
1.3.1無操作系統的嵌入式軟件
1.3.2帶操作系統的嵌入式軟件
1.3.3嵌入式操作系統的分類
1.3.4嵌入式實時操作系統的功能
1.3.5典型嵌入式操作系統
1.4嵌入式系統的應用領域
1.5嵌入式系統的體系
1.5.1硬件架構
1.5.2軟件層次
1.6Arm嵌入式微處理器
1.6.1Arm處理器的特點
1.6.2Arm體系結構的版本和系列
1.6.3Arm的RISC結構特性
1.7嵌入式處理器的分類和特點
1.8CortexM3嵌入式微處理器
1.8.1CortexM3概述
1.8.2CortexM3處理器的主要特性
1.8.3CortexM3處理器結構
第2章STM32系列微控制器
2.1STM32微控制器概述
2.1.1STM32 微控制器產品介紹
2.1.2STM32系統性能分析
2.1.3STM32微控制器的命名規則
2.1.4STM32微控制器的選型
2.2STM32F1系列產品系統架構和STM32F103ZET6內部架構
2.2.1STM32F1系列產品系統架構
2.2.2STM32F103ZET6的內部架構
2.3STM32F103ZET6的存儲器映像
2.3.1STM32F103ZET6內置外設的地址範圍
2.3.2嵌入式SRAM
2.3.3嵌入式Flash
2.4STM32F103ZET6的時鐘結構
2.5STM32F103VET6的引腳
2.6STM32F103VET6 最小系統設計
第3章STM32CubeMX和HAL庫
3.1安裝STM32CubeMX
3.2安裝MCU固件包
3.2.1軟件庫文件夾設置
3.2.2管理嵌入式軟件包
3.3軟件功能與基本使用
3.3.1軟件界面
3.3.2新建項目
3.3.3MCU圖形化配置界面總覽
3.3.4MCU配置
3.3.5時鐘配置
3.3.6項目管理
3.3.7生成報告和代碼
3.4HAL庫
3.4.1HAL庫簡介
3.4.2HAL庫與標準外設庫和LL庫的區別
3.4.3回調函數
3.4.4MSP的作用
3.4.5HAL庫的基本問題
第4章嵌入式開發環境的搭建
4.1Keil MDK安裝配置
4.1.1Keil MDK簡介
4.1.2Keil MDK下載
4.1.3Keil MDK安裝
4.1.4安裝庫文件
4.2Keil MDK新工程的創建
4.2.1建立文件夾
4.2.2打開Keil μVision
4.2.3新建工程
4.3Cortex微控制器軟件接口標準(CMSIS)
4.4STM32F103開發板的選擇
4.5STM32模擬器的選擇
第5章STM32 GPIO
5.1STM32 GPIO接口概述
5.1.1輸入通道
5.1.2輸出通道
5.2STM32的GPIO功能
5.2.1普通I/O功能
5.2.2單獨的位設置或位清除
5.2.3外部中斷/喚醒線
5.2.4復用功能
5.2.5軟件重新映射I/O復用功能
5.2.6GPIO鎖定機制
5.2.7輸入配置
5.2.8輸出配置
5.2.9復用功能配置
5.2.10模擬輸入配置
5.2.11STM32的GPIO操作
5.2.12外部中斷映射和事件輸出
5.2.13GPIO的主要特性
5.3GPIO的HAL驅動程序
5.4STM32的GPIO使用流程
5.4.1普通GPIO配置
5.4.2I/O復用功能AFIO配置
5.5採用STM32CubeMX和HAL庫的GPIO輸出應用實例
5.5.1STM32的GPIO輸出應用硬件設計
5.5.2STM32的GPIO輸出應用軟件設計
5.6採用STM32CubeMX和HAL庫的GPIO輸入應用實例
5.6.1STM32的GPIO輸入應用硬件設計
5.6.2STM32的GPIO輸入應用軟件設計
第6章STM32中斷
6.1中斷概述
6.1.1中斷
6.1.2中斷的功能
6.1.3中斷源與中斷屏蔽
6.1.4中斷處理過程
6.1.5中斷優先級與中斷嵌套
6.2STM32F1中斷系統
6.2.1STM32F1嵌套向量中斷控制器
6.2.2STM32F1中斷優先級
6.2.3STM32F1中斷向量表
6.2.4STM32F1中斷服務程序
6.3STM32F1外部中斷/事件控制器
6.3.1STM32F1的 EXTI內部結構
6.3.2STM32F1的 EXTI工作原理
6.3.3STM32F1的EXTI主要特性
6.4STM32F1中斷HAL驅動程序
6.4.1中斷設置相關HAL驅動函數
6.4.2外部中斷相關HAL函數
6.5STM32F1外部中斷設計流程
6.6採用STM32CubeMX和HAL庫的外部中斷設計實例
6.6.1STM32F1外部中斷的硬件設計
6.6.2STM32F1外部中斷的軟件設計
第7章STM32定時器
7.1STM32定時器概述
7.2STM32基本定時器
7.2.1基本定時器介紹
7.2.2基本定時器的功能
7.2.3STM32基本定時器的寄存器
7.3STM32通用定時器
7.3.1通用定時器介紹
7.3.2通用定時器的功能
7.3.3通用定時器的工作模式
7.3.4通用定時器的寄存器
7.4STM32定時器HAL庫函數
7.4.1基礎定時器 HAL驅動函數
7.4.2外設的中斷處理概念小結
7.5採用STM32CubeMX和HAL庫的定時器應用實例
7.5.1STM32的通用定時器配置流程
7.5.2定時器應用的硬件設計
7.5.3定時器應用的軟件設計
第8章STM32通用同步/異步收發器
8.1串行通信基礎
8.1.1串行異步通信數據格式
8.1.2串行同步通信數據格式
8.2STM32的USART工作原理
8.2.1USART介紹
8.2.2USART的主要特性
8.2.3USART的功能
8.2.4USART的通信時序
8.2.5USART的中斷
8.2.6USART的相關寄存器
8.3USART的HAL驅動程序
8.3.1常用功能函數
8.3.2常用宏函數
8.3.3中斷事件與回調函數
8.4採用STM32CubeMX和HAL庫的USART串行通信應用實例
8.4.1STM32的USART配置流程
8.4.2USART串行通信應用的硬件設計
8.4.3USART串行通信應用的軟件設計
第9章STM32 SPI串行總線
9.1STM32 SPI通信原理
9.1.1SPI串行總線概述
9.1.2SPI串行總線互連方式
9.2STM32F1 SPI串行總線的工作原理
9.2.1SPI串行總線的特徵
9.2.2SPI串行總線的內部結構
9.2.3SPI串行總線時鐘信號的相位和極性
9.2.4STM32的SPI配置
9.2.5STM32的SPI數據發送與接收過程
9.3SPI的HAL驅動程序
9.3.1SPI寄存器操作的宏函數
9.3.2SPI初始化和阻塞式數據傳輸
9.3.3SPI中斷方式數據傳輸
9.3.4SPI DMA方式數據傳輸
9.4採用STM32CubeMX和HAL庫的 SPI應用實例
9.4.1STM32的SPI配置流程
9.4.2SPI與Flash接口的硬件設計
9.4.3SPI與Flash接口的軟件設計
第10章STM32 I2C串行總線
10.1STM32 I2C串行總線的通信原理
10.1.1STM32 I2C串行總線概述
10.1.2STM32 I2C串行總線的數據傳輸
10.2STM32 I2C串行總線接口
10.2.1STM32 I2C串行總線的主要特性
10.2.2STM32 I2C串行總線的內部結構
10.2.3STM32 I2C串行總線的功能描述
10.3I2C的HAL驅動程序
10.3.1I2C接口的初始化
10.3.2I2C阻塞式數據傳輸
10.3.3I2C中斷方式數據傳輸
10.3.4I2C DMA方式數據傳輸
10.4採用STM32CubeMX和HAL庫的 I2C應用實例
10.4.1STM32的I2C配置
10.4.2STM32 I2C與EEPROM接口的硬件設計
10.4.3STM32 I2C與EEPROM接口的軟件設計
第11章STM32模數轉換器
11.1模擬量輸入通道
11.1.1模擬量輸入通道的組成
11.1.2ADC簡介
11.2模擬量輸入信號類型與量程自動轉換
11.2.1模擬量輸入信號類型
11.2.2量程自動轉換
11.3STM32F103ZET6集成的ADC模塊
11.3.1STM32的ADC的主要特徵
11.3.2STM32的ADC模塊結構
11.3.3STM32的ADC功能
11.3.4STM32的ADC應用特徵
11.4ADC的HAL驅動程序
11.4.1常規通道
11.4.2註入通道
11.4.3多重ADC
11.5採用STM32CubeMX和HAL庫的ADC應用實例
11.5.1STM32的ADC配置流程
11.5.2STM32的ADC應用的硬件設計
11.5.3STM32的ADC應用的軟件設計
第12章STM32 DMA控制器
12.1STM32 DMA的基本概念
12.1.1DMA的定義
12.1.2DMA在嵌入式實時系統中的價值
12.1.3DMA傳輸的基本要素
12.1.4DMA傳輸過程
12.1.5DMA的優點與應用
12.2STM32 DMA的結構和主要特徵
12.3STM32 DMA的功能描述
12.3.1DMA處理
12.3.2仲裁器
12.3.3DMA通道
12.3.4DMA中斷
12.4DMA的HAL驅動程序
12.4.1DMA的HAL庫函數概述
12.4.2DMA傳輸初始化配置
12.4.3啟動DMA數據傳輸
12.4.4DMA的中斷
12.5採用STM32CubeMX和HAL庫的DMA應用實例
12.5.1STM32的DMA配置流程
12.5.2DMA應用的硬件設計
12.5.3DMA應用的軟件設計
參考文獻