Arm Cortex-M4嵌入式系統——基於STM32Cube和HAL庫的開發方法
李正軍、李瀟然
買這商品的人也買了...
-
$454OpenCV 圖像處理編程實例
-
$789重構 : 改善既有代碼的設計, 2/e (簡中典藏精裝版)(Refactoring: Improving The Design of Existing Code, 2/e)
-
$594$564 -
$505統計信號處理基礎 — 估計與檢測理論 (卷I、卷II合集)
-
$403統計信號處理基礎:實用算法開發‧卷III
-
$1,650$1,617 -
$620$490 -
$414$393 -
$680$537
相關主題
商品描述
"本書秉承“新工科”理念,從科研、教學和工程實際應用出發,理論聯系實際,全面系統地講述基於 STM32CubeMX、STM32CubeIDE 和HAL 庫的嵌入式系統設計與應用實例。STM32CubeMX 和 STM32CubeIDE是ST公司提供的用於STM32 開發的免費工具軟件,是STM32Cube生態系統的核心工 具軟件。本書從市場上暢銷的STM32F4系列微控制器入手,利用STM32CubeMX快速生成STM32F4系 列的開發環境,並在STM32CubeIDE上對代碼進行進一步修改補充,直至生成最終的開發項目。全書共 12章,主要內容包括緒論、STM32系列微控制器、STM32CubeMX和HAL庫、STM32CubeIDE開發平臺、 STM32 GPIO、STM32中斷、STM32定時器、STM32 通用同步/異步收發器、STM32 SPI串行總線、STM32 I2C串行總線、STM32 A/D轉換器和STM32 DMA 控制器。全書內容豐富,體系先進,結構合理,理論與 實踐相結合,尤其註重工程應用技術。 本書可作為高等院校各類自動化、軟件工程、機器人、自動檢測、機電一體化、人工智能、電子與電氣工 程、電腦應用、信息工程、物聯網等相關專業的本科生、研究生授課教材,也可作為廣大從事嵌入式系統 開發的工程技術人員的參考用書。"
作者簡介
李正軍 山東大學教授,碩士研究生導師,知名的嵌入式系統、現場總線與工業以太網、自動控制、現場總線與工業以太網專家。1984年畢業於山東大學數學系、同年留山東大學數學系任教。先後擔任“211工程”重點建設項目“現場總線技術實驗室”負責人、控制科學與工程學院微機原理課程負責人,碩士研究生導師,並獲山東大學優秀教師榮譽稱號。中國電氣工業協會設備網現場總線分會理事、中華人民共和國機械行業標準《低壓電氣通信規約》審稿人,全國電器設備網絡通信接口標準化委員會委員。發表科研與教學論文50余篇,出版著作26部,並獲機械工業出版社百佳作者和金牌作者榮譽稱號。承擔省部級與企業科研課題30余項。主要研究方向包括嵌入式系統、RISC-V開源技術、計算機控制、現場總線與工業以太網應用技術、高端醫療器械、電力網絡監測儀表等。
目錄大綱
目錄
第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.7.1存儲器系統概述
1.7.2嵌入式系統存儲器的分類
1.8嵌入式處理器的分類和特點
第2章STM32系列微控制器
2.1STM32 微控制器概述
2.1.1STM32 微控制器產品介紹
2.1.2STM32系統性能分析
2.1.3CortexM4的三級流水線
2.1.4STM32微控制器的命名規則
2.1.5STM32F1和STM32F4的區別
2.1.6STM32微控制器的選型
2.2STM32F407ZGT6概述
2.2.1STM32F407的主要特性
2.2.2STM32F407的主要功能
2.3STM32F407ZGT6芯片內部結構
2.4STM32F407VGT6芯片引腳和功能
2.5STM32F407VGT6最小系統設計
第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章STM32CubeIDE開發平臺
4.1安裝STM32CubeIDE
4.2STM32CubeIDE的操作
4.2.1新建和導入工程
4.2.2項目管理
4.2.3打開/關閉/刪除/切換/導出工程
4.2.4固件庫管理
4.2.5代碼編譯
4.2.6調試及運行配置
4.2.7啟動調試
4.3STM32CubeProgrammer軟件
4.4STM32CubeMonitor軟件
4.5STM32F407開發板的選擇
4.6STM32模擬器的選擇
第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.2STM32F4中斷系統
6.2.1STM32F4嵌套向量中斷控制器
6.2.2STM32F4中斷優先級
6.2.3STM32F4中斷向量表
6.2.4STM32F4中斷服務程序
6.3STM32F4外部中斷/事件控制器
6.3.1STM32F4的 EXTI內部結構
6.3.2STM32F4的EXTI主要特性
6.4STM32F4中斷HAL驅動程序
6.4.1中斷設置相關HAL驅動函數
6.4.2外部中斷相關HAL函數
6.5STM32F4外部中斷設計流程
6.6採用STM32CubeMX和HAL庫的外部中斷設計實例
6.6.1STM32F4外部中斷的硬件設計
6.6.2STM32F4外部中斷的軟件設計
第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.2STM32的USART串行通信應用的硬件設計
8.4.3STM32的USART串行通信應用的軟件設計
第9章STM32 SPI串行總線
9.1STM32 SPI通信原理
9.1.1SPI串行總線概述
9.1.2SPI串行總線互連方式
9.2STM32F4 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.2STM32 SPI與Flash接口的硬件設計
9.4.3STM32 SPI與Flash接口的軟件設計
第10章STM32 I2C串行總線
10.1STM32 I2C串行總線的通信原理
10.1.1STM32 I2C串行總線概述
10.1.2I2C總線的數據傳輸
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.3STM32F407微控制器的ADC結構
11.4STM32F407 微控制器的ADC功能
11.4.1ADC使能和啟動
11.4.2時鐘配置
11.4.3轉換模式
11.4.4DMA 控制
11.4.5STM32的ADC應用特徵
11.5ADC的HAL驅動程序
11.5.1常規通道
11.5.2註入通道
11.5.3多重ADC
11.6採用STM32CubeMX和HAL庫的ADC應用實例
11.6.1STM32的ADC配置流程
11.6.2STM32的ADC應用硬件設計
11.6.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應用的軟件設計
參考文獻