幫助中心 | 我的帳號 | 關於我們

STM32Cube高效開發教程(高級篇)

  • 作者:編者:王維波//鄢志丹//王釗|責編:吳晉瑜
  • 出版社:人民郵電
  • ISBN:9787115552518
  • 出版日期:2022/03/01
  • 裝幀:平裝
  • 頁數:502
人民幣:RMB 129.9 元      售價:
放入購物車
加入收藏夾

內容大鋼
    本書介紹STM32開發的一些高級內容。第一部分詳細介紹嵌入式操作系統FreeRTOS的使用:第二部分介紹使用FatFS管理SPI-Flash晶元、SD卡和U盤上的文件系統;第三部分介紹BMP和JPG圖片的獲取與顯示,觸摸屏的使用,DCMI介面和數字攝像頭等。全書使用STM32CubeMX和STM32CubeIDE軟體開發常式,講解FreeRTOS、FatFS、LibJPEG、USB_Host、USB_Device等中間件以及SDIO、USB-OTG、DCMI等外設的原理和使用方法,並針對一個STM32F407開發板編寫了完整示例項目。通過閱讀本書,讀者可以掌握STM32開發中的嵌入式操作系統、文件系統、觸摸屏等高級軟硬體的開發方法。
    本書適合已經掌握STM32CubeMX和STM32CubeIDE軟體的使用以及STM32常用外設的STM32Cube開發等相關基礎內容的讀者閱讀,可以作為高等院校電子、自動化、電腦類專業的教學用書,也可作為STM32嵌入式系統開發的參考書。

作者介紹
編者:王維波//鄢志丹//王釗|責編:吳晉瑜

目錄
第一部分  嵌入式操作系統FreeRTOS
  第1章  FreeRTOS基礎
    1.1  FreeRTOS概述
      1.1.1  FreeRTOS的發展歷史
      1.1.2  FreeRTOS的特點和許可方式
      1.1.3  FreeRTOS的一些概念和術語
      1.1.4  為什麼要使用RTOS
    1.2  FreeRTOS入門示例
      1.2.1  CubeMX項目配置
      1.2.2  含FreeRTOS的項目的文件組成
      1.2.3  程序分析和功能實現
    1.3  FreeRTOS的文件組成和基本原理
      1.3.1  FreeRTOS的文件組成
      1.3.2  FreeRTOS的編碼規則
      1.3.3  FreeRTOS的配置和功能裁剪
  第2章  FreeRTOS的任務管理
    2.1  任務相關的一些概念
      2.1.1  多任務運行基本機制
      2.1.2  任務的狀態
      2.1.3  任務的優先順序
      2.1.4  空閑任務
      2.1.5  基礎時鐘與嘀嗒信號
    2.2  FreeRTOS的任務調度
      2.2.1  任務調度方法概述
      2.2.2  使用時間片的搶佔式調度方法
      2.2.3  不使用時間片的搶佔式調度方法
      2.2.4  合作式任務調度方法
    2.3  任務管理相關函數
      2.3.1  相關函數概述
      2.3.2  主要函數功能說明
    2.4  多任務編程示例一
      2.4.1  示例功能與CubeMX項目設置
      2.4.2  初始程序分析
      2.4.3  編寫用戶功能代碼
    2.5  任務管理工具函數
      2.5.1  相關函數概述
      2.5.2  獲取任務句柄
      2.5.3  單個任務的操作
      2.5.4  內核信息統計
    2.6  多任務編程示例二
      2.6.1  示例功能與CubeMX項目設置
      2.6.2  程序功能實現
  第3章  FreeRTOS的中斷管理
    3.1  FreeRTOS與中斷
    3.2  任務與中斷服務常式
      3.2.1  任務與中斷服務常式的關係
      3.2.2  中斷屏蔽和臨界代碼段
      3.2.3  在ISR中使用FreeRTOSAPI函數
      3.2.4  中斷及其ISR設計原則
    3.3  任務和中斷程序設計示例

      3.3.1  示例功能和CubeMX項目設置
      3.3.2  基本功能代碼
      3.3.3  各種特性的測試
  第4章  進程間通信與消息隊列
    4.1  進程間通信
    4.2  隊列的特點和基本操作
      4.2.1  隊列的創建和存儲
      4.2.2  向隊列寫入數據
      4.2.3  從隊列讀取數據
      4.2.4  隊列操作相關函數
    4.3  隊列使用示例
      4.3.1  示例功能和CubeMX項目設置
      4.3.2  初始代碼分析
      4.3.3  實現用戶功能
  第5章  信號量
    5.1  信號量和互斥量概述
      5.1.1  二值信號量
      5.1.2  計數信號量
      5.1.3  互斥量
      5.1.4  遞歸互斥量
      5.1.5  相關函數概述
    5.2  二值信號量使用示例
      5.2.1  二值信號量操作相關函數詳解
      5.2.2  示例功能和CubeMX項目設置
      5.2.3  程序功能實現
    5.3  計數信號量使用示例
      5.3.1  計數信號量操作相關函數詳解
      5.3.2  示例功能和CubeMX項目設置
      5.3.3  程序功能實現
  第6章  互斥量
    6.1  優先順序翻轉問題
    6.2  互斥量的工作原理
      6.2.1  優先順序繼承
      6.2.2  互斥量相關函數詳解
    6.3  優先順序翻轉示例
      6.3.1  示例功能和CubeMX項目設置
      6.3.2  程序功能實現
    6.4  互斥量使用示例
      6.4.1  示例功能和CubeMX項目設置
      6.4.2  程序功能實現
  第7章  事件組
    7.1  事件組的原理和功能
      7.1.1  事件組的功能特點
      7.1.2  事件組的工作原理
    7.2  事件組相關函數
      7.2.1  相關函數概述
      7.2.2  部分函數詳解
    7.3  事件組使用示例
      7.3.1  示例功能和CubeMX項目設置
      7.3.2  程序功能實現

    7.4  通過事件組進行多任務同步
      7.4.1  多任務同步原理
      7.4.2  示例功能和CubeMX項目設置
      7.4.3  程序功能實現
  第8章  任務通知
    8.1  任務通知的原理和功能
    8.2  任務通知的相關函數
      8.2.1  相關函數概述
      8.2.2  函數詳解
    8.3  示例一:使用任務通知傳遞數據
      8.3.1  示例功能與CubeMX項目設置
      8.3.2  程序功能實現
    8.4  示例二:將任務通知用作計數信號量
      8.4.1  示例功能
      8.4.2  CubeMX項目設置
      8.4.3  程序功能實現
  第9章  流緩衝區和消息緩衝區
    9.1  流緩衝區功能概述
    9.2  流緩衝區操作的相關函數
      9.2.1  相關函數概述
      9.2.2  部分函數詳解
      9.2.3  表示發送完成和接收完成的宏
    9.3  流緩衝區使用示例
      9.3.1  示例功能與CubeMX項目設置
      9.3.2  程序功能實現
    9.4  消息緩衝區功能概述
    9.5  消息緩衝區操作相關函數
      9.5.1  相關函數概述
      9.5.2  部分函數詳解
    9.6  消息緩衝區使用示例
      9.6.1  示例功能與CubeMX項目設置
      9.6.2  程序功能實現
  第10章  軟體定時器
    10.1  軟體定時器概述
      10.1.1  軟體定時器的特性
      10.1.2  軟體定時器的相關配置
      10.1.3  定時器服務任務的優先順序
    10.2  軟體定時器的相關函數
      10.2.1  相關函數概述
      10.2.2  部分函數詳解
    10.3  軟體定時器使用示例
      10.3.1  示例功能和CubeMX項目設置
      10.3.2  程序功能實現
  第11章  空閑任務與低功耗
    11.1  HAL和FreeRTOS的基礎時鐘
      11.1.1  使用SysTick作為HAL的基礎時鐘
      11.1.2  使用其他定時器作為HAL的基礎時鐘
      11.1.3  FreeRTOS的基礎時鐘
    11.2  空閑任務與低功耗處理
      11.2.1  實現原理

      11.2.2  設計示例
    11.3  Tickless低功耗模式
      11.3.1  Tickless模式的原理和功能
      11.3.2  Tickless模式的使用示例
第二部分  FatFS管理文件系統
  第12章  FatFS和文件系統
    12.1  FatFS概述
      12.1.1  FatFS的作用
      12.1.2  文件系統的一些基本概念
      12.1.3  FatFS的功能特點和參數
      12.1.4  FatFS的文件組成
      12.1.5  FatFS的基本數據類型定義
    12.2  FatFS的應用程序介面函數
      12.2.1  卷管理和系統配置相關函數
      12.2.2  文件和目錄管理相關函數
      12.2.3  目錄訪問相關函數
      12.2.4  文件訪問相關函數
    12.3  FatFS的存儲介質訪問函數
    12.4  針對SPI-Flash晶元移植FatFS
      12.4.1  SPI-Flash晶元硬體電路
      12.4.2  CubeMX項目基礎設置
      12.4.3  在CubeMX中設置FatFS
      12.4.4  項目中FatFS的文件組成
      12.4.5  FatFS初始化過程
      12.4.6  針對SPI-Flash晶元的DiskIO函數實現
    12.5  在SPI-Flash晶元上使用文件系統
      12.5.1  主程序功能
      12.5.2  磁碟格式化
      12.5.3  獲取FAT磁碟信息
      12.5.4  掃描根目錄下的文件和子目錄
      12.5.5  創建文件和目錄
      12.5.6  讀取文本文件
      12.5.7  讀取二進位文件
      12.5.8  獲取文件信息
      12.5.9  文件file_opera.h的完整定義
  第13章  直接訪問SD卡
    13.1  SD卡簡介
      13.1.1  SD卡的分類
      13.1.2  常規SD卡的介面
    13.2  SDIO介面硬體電路
      13.2.1  STM32F407的SDIO介面
      13.2.2  開發板上的microSD卡連接電路
    13.3  SDIO介面和SD卡的HAL驅動程序
      13.3.1  SD驅動程序概述
      13.3.2  初始化和配置函數
      13.3.3  讀取SD卡的參數信息
      13.3.4  獲取SD卡的當前狀態
      13.3.5  以輪詢方式讀寫SD卡
      13.3.6  以中斷方式讀寫SD卡
      13.3.7  以DMA方式讀寫SD卡

    13.4  示例一:以輪詢方式讀寫SD卡
      13.4.1  示例功能與CubeMX項目設置
      13.4.2  主程序與SDIO介面/SD卡初始化
      13.4.3  程序功能實現
    13.5  示例二:以DMA方式讀寫SD卡
      13.5.1  示例功能與CubeMX項目設置
      13.5.2  主程序與外設初始化
      13.5.3  程序功能實現
  第14章  用FatFS管理SD卡文件系統
    14.1  SD卡文件系統概述
    14.2  示例一:阻塞式訪問SD卡
      14.2.1  示例功能與CubeMX項目設置
      14.2.2  項目文件組成和初始代碼分析
      14.2.3  SD卡的DiskIO函數實現
      14.2.4  SD卡文件管理功能的實現
    14.3  示例二:以DMA方式訪問SD卡
      14.3.1  示例功能和CubeMX項目設置
      14.3.2  DiskIO函數實現代碼分析
      14.3.3  SD卡文件管理功能的實現
  第15章  用FatFS管理U盤文件系統
    15.1  USB概述
      15.1.1  USB協議
      15.1.2  USB設備類型
      15.1.3  USB介面類型
    15.2  STM32F407的USB-OTG介面
      15.2.1  USB-OTG概述
      15.2.2  USB-OTGFS
      15.2.3  開發板上的USB介面電路
    15.3  作為USBHost讀寫U盤
      15.3.1  示例功能和CubeMX項目設置
      15.3.2  項目文件組成和初始代碼分析
      15.3.3  USBH狀態變化測試
      15.3.4  U盤文件管理功能實現
  第16章  USB-OTG用作USBMSC外設
    16.1  開發板作為USBMSC外設的原理
    16.2  示例一:SD卡讀卡器
      16.2.1  示例功能和CubeMX項目設置
      16.2.2  項目文件組成和初始代碼分析
      16.2.3  程序功能實現
    16.3  示例二:增加FatFS管理本機文件功能
      16.3.1  示例功能和CubeMX項目設置
      16.3.2  程序功能實現
      16.3.3  運行測試
  第17章  在FreeRTOS中使用FatFS
    17.1  在RTOS中使用FatFS需考慮的問題
      17.1.1  可重入性問題
      17.1.2  FatFS的可重入性
    17.2  FreeRTOS中使用FatFS的示例
      17.2.1  示例功能和CubeMX項目設置
      17.2.2  項目文件組成和初始代碼分析

      17.2.3  FatFSAPI函數的重入性實現原理
      17.2.4  添加用戶功能代碼
第三部分  圖片的獲取與顯示
  第18章  BMP圖片
    18.1  LCD顯示圖片的原理
      18.1.1  像素顏色的表示
      18.1.2  根據圖片的RGB565數據顯示圖片
    18.2  圖片顯示示例
      18.2.1  示例功能與CubeMX項目配置
      18.2.2  程序功能實現
    18.3  BMP圖片文件的格式
      18.3.1  BMP圖片文件的數據分段
      18.3.2  點陣圖文件頭
      18.3.3  點陣圖信息頭
      18.3.4  點陣圖數據
    18.4  BMP圖片文件的讀寫操作示例
      18.4.1  示例功能和CubeMX項目設置
      18.4.2  程序功能實現
      18.4.3  BMP文件操作驅動程序
  第19章  JPG圖片
    19.1  JPEG和LIBJPEG
    19.2  JPG圖片文件的讀寫操作示例
      19.2.1  示例功能和CubeMX項目設置
      19.2.2  程序功能實現
      19.2.3  JPG文件操作驅動程序
  第20章  電阻式觸摸屏
    20.1  電阻式觸摸屏的工作原理
    20.2  電阻式觸摸屏的軟硬體介面
    20.3  示例一:輪詢方式檢測觸摸屏輸出
      20.3.1  示例功能
      20.3.2  CubeMX項目設置
      20.3.3  主程序功能實現
      20.3.4  GUI界面的創建與交互操作
      20.3.5  電阻式觸摸屏驅動程序
    20.4  示例二:中斷方式獲取觸摸屏輸出
      20.4.1  示例功能和CubeMX項目設置
      20.4.2  程序功能實現
  第21章  電容式觸摸屏
    21.1  電容式觸摸屏的工作原理
    21.2  電容式觸摸屏的軟硬體介面
      21.2.1  電容式觸摸屏介面
      21.2.2  電容式觸摸屏控制晶元功能
    21.3  電容觸摸屏的使用示例
      21.3.1  示例功能和CubeMX項目設置
      21.3.2  程序功能實現
      21.3.3  電容觸摸屏驅動程序
  第22章  DCMI介面和數字攝像頭
    22.1  數字攝像頭
      22.1.1  數字攝像頭概述
      22.1.2  OV7670圖像感測器的功能和介面

      22.1.3  OV7670數據輸出時序和格式
      22.1.4  SCCB通信
      22.1.5  OV7670的寄存器
    22.2  DCMI介面
      22.2.1  DCMI介面概述
      22.2.2  DCMI介面傳輸時序
      22.2.3  DCMI數據存儲格式
      22.2.4  DCMI圖像採集方式
      22.2.5  DCMI的中斷
    22.3  DCMI的HAL驅動
      22.3.1  主要驅動函數概述
      22.3.2  DCMI介面初始化
      22.3.3  DCMI的採集控制
    22.4  DCMI和攝像頭使用示例
      22.4.1  攝像頭模塊
      22.4.2  開發板與攝像頭模塊的連接
      22.4.3  示例功能與CubeMX項目設置
      22.4.4  程序功能實現
附錄A  CubeMX模板項目和公共驅動程序的使用
  A.1  公共驅動程序的目錄組成
  A.2  CubeMX模板項目
  A.3  新建CubeMX項目后導入模板項目的配置
  A.4  複製模板項目以新建CubeMX項目
  A.5  在CubeIDE中設置驅動程序搜索路徑
附錄B  複製一個項目
附錄C  開發板功能模塊
附錄D  本書示例列表
附錄E  縮略詞
參考文獻

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032