Arm Cortex-M3嵌入式系統——基於STM32Cube和HAL庫的開發方法

李正軍、李瀟然

  • 出版商: 清華大學
  • 出版日期: 2024-08-01
  • 定價: $414
  • 售價: 8.5$352
  • 語言: 簡體中文
  • ISBN: 730266790X
  • ISBN-13: 9787302667902
  • 相關分類: ARM嵌入式系統STM32
  • 下單後立即進貨 (約4週~6週)

  • Arm Cortex-M3嵌入式系統——基於STM32Cube和HAL庫的開發方法-preview-1
  • Arm Cortex-M3嵌入式系統——基於STM32Cube和HAL庫的開發方法-preview-2
  • Arm Cortex-M3嵌入式系統——基於STM32Cube和HAL庫的開發方法-preview-3
Arm Cortex-M3嵌入式系統——基於STM32Cube和HAL庫的開發方法-preview-1

相關主題

商品描述

"本書秉承“新工科”理念,從科研、教學和工程實際應用出發,理論聯系實際,全面系統地講述基於 STM32CubeMX和HAL庫的嵌入式系統設計與應用實例。STM32CubeMX 是ST 公司提供的用於 STM32開發的免費工具軟件,是STM32Cube生態系統的核心工具軟件。本書從市場上暢銷的STM32F1 系列微控制器入手,利用STM32CubeMX快速生成STM32F1系列的開發環境,並在Keil MDK 上對代碼 進行進一步的修改補充,直至生成最終的開發項目。全書共12章,主要內容包括緒論、STM32系列微控制 器、STM32CubeMX和HAL 庫、嵌入式開發環境的搭建、STM32 GPIO、STM32 中斷、STM32 定時器、 STM32通用同步/異步收發器、STM32 SPI串行總線、STM32 I2C 串行總線、STM32 ADC 轉換器和 STM32 DMA控制器。 本書可作為高等院校自動化、軟件工程、機器人、自動檢測、機電一體化、人工智能、電子與電氣工程、 電腦應用、信息工程、物聯網等相關專業的本科生、研究生教材,也可作為廣大從事嵌入式系統開發的工 程技術人員的參考用書。"

目錄大綱

目錄

第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.8CortexM3嵌入式微處理器

1.8.1CortexM3概述

1.8.2CortexM3處理器的主要特性

1.8.3CortexM3處理器結構

第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應用的軟件設計

參考文獻