極簡STM32:基於HAL庫與FreeRTOS的Arm Cortex-M4編程與開發

向軍、孫永奎

  • 出版商: 清華大學
  • 出版日期: 2026-06-01
  • 售價: $474
  • 語言: 簡體中文
  • ISBN: 7302716609
  • ISBN-13: 9787302716600
  • 相關分類: STM32
  • 下單後立即進貨 (約4週~6週)

  • 極簡STM32:基於HAL庫與FreeRTOS的Arm Cortex-M4編程與開發-preview-1
  • 極簡STM32:基於HAL庫與FreeRTOS的Arm Cortex-M4編程與開發-preview-2
  • 極簡STM32:基於HAL庫與FreeRTOS的Arm Cortex-M4編程與開發-preview-3
  • 極簡STM32:基於HAL庫與FreeRTOS的Arm Cortex-M4編程與開發-preview-4
  • 極簡STM32:基於HAL庫與FreeRTOS的Arm Cortex-M4編程與開發-preview-5
  • 極簡STM32:基於HAL庫與FreeRTOS的Arm Cortex-M4編程與開發-preview-6
  • 極簡STM32:基於HAL庫與FreeRTOS的Arm Cortex-M4編程與開發-preview-7
極簡STM32:基於HAL庫與FreeRTOS的Arm Cortex-M4編程與開發-preview-1

商品描述

"本書介紹了STM32系列MCU的體系結構以及基於HAL庫和FreeRTOS的程序設計。主要內容包括:STM32體系結構、STM32的固件包和HAL庫、STM32的中斷與系統定時器、通信接口、定時器和模擬外設、FreeRTOS基礎、FreeRTOS的任務和中斷管理、FreeRTOS進程間通信技術等,最後介紹了一個綜合應用實踐案例——自動尋跡智能小車。 本書各章節內容都給出了相應的案例和實踐練習題,所有代碼都在STM32CubeIDE 1.17版本(固件包版本為1.28.1)上調試通過。此外,本書還提供了豐富的基礎知識練習題,以及課程大綱、實驗講義和微課視頻等電子資源。"

作者簡介

"向軍:西南交通大學電氣工程學院副教授。長期從事單片機和嵌入式系統開發、通信與信號理論、系統建模與仿真等領域的教學和研究工作。先後為本科生和研究生開設“嵌入式系統及應用”“單片機原理”“數字信號處理”“通信原理”“MATLAB編程及工程應用”“系統建模與仿真“等多門課程,發表學術論文30余篇,出版暢銷教材8部。孫永奎 西南交通大學電氣工程學院電子信息工程系副系主任, 主管全系本科和研究生實驗教學,近五年參加和主持國家自然科學基金等項目4項,出版教材3部,發表學術論文20余篇。"

目錄大綱

 

 

 

 

 

 

目錄

 

 

 

 

 

 

第 一 部 分

 

 

第1章STM32體系結構

 

微課視頻59分鐘

 

1.1嵌入式系統與STM32

 

1.1.1嵌入式系統簡介

 

1.1.2STM32簡介

 

1.2STM32體系結構

 

1.2.1Arm內核體系架構

 

1.2.2STM32系列微控制器

 

1.2.3STM32F407微控制器

 

1.3GPIO外設

 

1.3.1GPIO的寄存器及其映射

 

1.3.2GPIO的內部組成

 

1.3.3GPIO的工作模式

 

1.4STM32最小系統

 

1.4.1電源和復位啟動電路

 

1.4.2時鐘系統與時鐘電路

 

1.4.3調試和下載電路

 

本章小結

 

本章習題

 

第2章STM32編程基礎

 

微課視頻101分鐘

 

2.1STM32程序開發方式與開發環境

 

2.1.1程序開發方式

 

2.1.2開發環境

 

2.1.3程序下載及調試運行工具

 

2.2嵌入式C語言基礎

 

2.2.1結構體和枚舉

 

2.2.2數據類型別名

 

2.2.3指針

 

2.2.4C語言中的位操作

 

2.2.5預處理與條件編譯

 

2.3基於寄存器的STM32程序設計

 

2.3.1程序設計步驟

 

2.3.2本書案例代碼使用說明

 

2.4庫的創建

 

2.4.1GPIO外設的封裝與結構體定義

 

2.4.2GPIO操作函數的創建

 

本章小結

 

本章習題

 

第3章STM32固件包與HAL庫

 

微課視頻92分鐘

 

3.1STM32固件包

 

3.1.1固件包的下載和安裝

 

3.1.2固件包的組成和目錄結構

 

3.2HAL庫

 

3.2.1HAL庫的特點與核心組件

 

3.2.2系統配置文件

 

3.2.3HAL庫配置文件

 

3.2.4HAL庫外設驅動函數文件

 

3.2.5各文件的包含關系

 

3.2.6啟動文件

 

3.3基於CubeMX和HAL庫的程序設計

 

3.3.1CubeMX的主界面

 

3.3.2基於CubeMX的程序設計流程

 

本章小結

 

本章習題

 

第 二 部 分

 

 

第4章中斷和系統定時器

 

微課視頻32分鐘

 

4.1異常和中斷管理系統

 

4.1.1基本概念

 

4.1.2NVIC和EXTI控制器

 

4.1.3中斷優先級管理

 

4.2外部中斷應用編程

 

4.2.1外部中斷的CubeMX配置

 

4.2.2外部中斷的初始化

 

4.2.3外部中斷的處理

 

4.3系統滴答定時器

 

4.3.1SysTick的封裝

 

4.3.2SysTick的初始化

 

4.3.3系統節拍與HAL時基

 

4.3.4HAL_Delay()函數

 

4.4看門狗與實時時鐘

 

4.4.1看門狗

 

4.4.2實時時鐘

 

本章小結

 

本章習題

 

第5章通信接口及其應用

 

微課視頻112分鐘

 

5.1通用串口及其應用

 

5.1.1通用串口的內部結構

 

5.1.2時鐘和波特率

 

5.1.3通用串口在HAL庫中的封裝和定義

 

5.1.4串口重定向

 

5.2I2C接口及其應用

 

5.2.1I2C的基本概念

 

5.2.2STM32中的I2C接口

 

5.2.3I2C在HAL庫中的封裝和定義

 

5.3SPI及其應用

 

5.3.1SPI的基本概念

 

5.3.2STM32中的SPI

 

5.3.3SPI在HAL庫中的封裝和定義

 

5.3.4SPI外設的典型應用

 

本章小結

 

本章習題

 

第6章定時器及其應用

 

微課視頻77分鐘

 

6.1定時器的基本特性

 

6.2基本定時器

 

6.2.1功能框圖及工作原理

 

6.2.2基本定時器的初始化

 

6.2.3相關HAL庫函數

 

6.3通用定時器

 

6.3.1功能框圖

 

6.3.2時鐘源和計數模式

 

6.3.3輸入捕獲和比較輸出

 

6.3.4PWM信號的產生和測量

 

本章小結

 

本章習題

 

第7章模擬外設

 

微課視頻116分鐘

 

7.1DAC及其應用

 

7.1.1DAC功能框圖

 

7.1.2DAC相關HAL庫驅動

 

7.2ADC及其應用

 

7.2.1ADC的功能框圖

 

7.2.2ADC的初始化及相關HAL庫驅動

 

7.3ADC的DMA傳輸

 

7.3.1DMA控制器

 

7.3.2DMA初始化配置

 

7.3.3DMA的啟動和數據傳輸

 

本章小結

 

本章習題

 

第 三 部 分

 

 

第8章FreeRTOS基礎

 

微課視頻19分鐘

 

8.1FreeRTOS簡介

 

8.1.1嵌入式操作系統

 

8.1.2FreeRTOS的功能和特性

 

8.1.3固件包中的FreeRTOS

 

8.2FreeRTOS的初始化配置

 

8.2.1CubeMX工程配置

 

8.2.2工程文件的基本結構

 

8.2.3主程序文件

 

8.3FreeRTOS編程基礎

 

8.3.1數據類型和代碼格式

 

8.3.2FreeRTOS的移植和裁剪

 

8.4軟件定時器

 

8.4.1軟件定時器特性

 

8.4.2軟件定時器相關函數

 

本章小結

 

本章習題

 

第9章FreeRTOS的任務和中斷管理

 

微課視頻33分鐘

 

9.1多任務系統

 

9.1.1輪詢系統

 

9.1.2前後臺系統

 

9.1.3多任務系統

 

9.2任務的創建

 

9.2.1任務與任務函數

 

9.2.2FreeRTOS中的存儲器管理

 

9.2.3創建任務

 

9.3任務的調度

 

9.3.1任務的優先級與狀態

 

9.3.2基礎時鐘與時間片

 

9.3.3調度任務

 

9.4任務和調度器管理函數

 

9.4.1任務管理函數

 

9.4.2調度器管理函數

 

9.4.3CMSIS接口函數

 

9.5中斷管理

 

9.5.1中斷管理的運作機制

 

9.5.2中斷的優先級

 

9.5.3FreeRTOS中的兩套API函數

 

本章小結

 

本章習題

 

第10章FreeRTOS進程間通信技術

 

微課視頻59分鐘

 

10.1隊列

 

10.1.1隊列的創建和存儲

 

10.1.2隊列管理函數

 

10.1.3隊列CMSIS接口函數

 

10.2信號量和互斥量

 

10.2.1信號量和互斥量的分類

 

10.2.2互斥量的優先級繼承

 

10.2.3信號量和互斥量管理函數

 

10.2.4信號量和互斥量CMSIS接口函數

 

10.3事件組

 

10.3.1事件組的基本工作原理

 

10.3.2事件組管理函數

 

10.3.3事件組CMSIS接口函數

 

10.4任務通知

 

10.4.1任務通知的工作原理

 

10.4.2任務通知管理函數

 

10.4.3任務通知CMSIS接口函數

 

本章小結

 

本章習題

 

第 四 部 分

 

 

第11章綜合應用實踐案例

 

11.1兩輪差速移動機器人簡介

 

11.1.1機器人的運動原理

 

11.1.2機器人電機驅動及運動控制

 

11.2機器人運動控制程序設計

 

11.2.1基於HAL庫的運動控制程序設計

 

11.2.2基於FreeRTOS的運動控制程序設計

 

11.3機器人巡線控制程序設計

 

11.3.1TSL1401CL簡介

 

11.3.2基於HAL庫的巡線控制程序設計

 

11.3.3基於FreeRTOS的巡線控制程序設計

 

本章小結

 

本章習題

 

參考文獻