AI PC基礎CPU架構 - Arm Cortex-M4 STM32F407 HAL開發實戰
✴︎ ARM Cortex-M4嵌入式系統
✴︎ STM32F407與實驗平臺,軟體環境設定與使用入門
✴︎ 通用輸入輸出通訊埠
✴︎ LED流水燈與SysTick計時器
✴︎ 按鍵輸入與蜂鳴器
✴︎ FSMC匯流排與雙顯示終端
✴︎ 中斷系統與基本應用
✴︎ 基本計時器,通用計時器
✴︎ 串列通訊介面USART
✴︎ SPI與字形檔儲存
✴︎ I2C介面與EEPROM
✴︎ 類/數轉換與光照感測器
✴︎ 直接記憶體存取
✴︎ 數/類轉換器
✴︎ 位元附帶操作與溫濕度感測器
✴︎ RTC與藍芽通訊
作者簡介:
黃克亞
蘇州大學副教授、軟體設計師、碩士生導師,主要從事智慧控制、嵌入式系統開發等領域的教學和科研工作。長期講授「電工電子技術」「單片機原理與控制技術」「微機原理及應用」「嵌入式系統開發與實踐」「感測器應用技術」等課程。近年來主持省級課題2項,獲授權發明專利2項,登記軟體著作權4項,發表SCI/EI/中文核心論文12篇。指導學生獲全國軟件和資訊技術專業人才大賽全國總決賽二等獎2項、全國大學生電子設計競賽江蘇省賽區二等獎2項、江蘇省本專科優秀畢業設計(論文)三等獎1項。
作者序
序言
1. 出版背景
「青山遮不住,畢竟東流去!」雖然我們已經累積了大量的經典的8 位元微控制器( 如MCS-51)、16 位元微控制器( 如MSP430) 的技術資料,但是複雜的指令、較低的主頻、有限的儲存空間、極少的片上外接裝置,使其在面對複雜應用時,捉襟見肘,難以勝任。8位元、16位元微控制器的應用不會就此結束,32位元處理器時代已經到來。
在這個大環境下,ARM Cortex-M處理器轟轟烈烈地誕生了!它性能更強、功耗更低、易於使用。許多曾經只能求助於高級32 位元處理器或DSP 的軟體設計,都能在ARM Cortex-M 處理器上跑得很快。按照ARM 公司的經營策略,公司只負責設計處理器IP 核心,而不生產和銷售具體的處理器晶片。在諸多半導體製造商中,意法半導體(ST Microelectronics) 公司較早在市場上推出基於ARM Cortex-M 核心的微控制器產品,其根據ARM Cortex-M 核心設計生產的STM32微控制器充分發揮了低成本、低功耗、高C/P 值的優勢,以系列化的方式推出,方便使用者選擇,受到了廣泛的好評。在許多STM32 微控制器產品中,基於ARM Cortex-M3 核心的STM32F103 微控制器和基於ARM Cortex-M4 核心的STM32F407 微控制器較為使用者所了解,市場佔有率很高,很多嵌入式教材也是以二者之一為藍本進行講解的。相比於STM32F103 微控制器,STM32F407 在核心、資源、外接裝置、性能、功耗等多方面均有較大增強,而二者價格相差並不大,所以本書選擇以STM32F407 為背景機型進行講解。
STM32 支援的四種開發方式中的暫存器開發方式和LL 函數庫開發方式較少使用,嵌入式軟體工程師往往會在標準函數庫開發方式和HAL 函數庫開發方式之間艱難抉擇。近年來,隨著硬體性能逐步提升和STM32CubeMX 軟體的更新升級,HAL 函數庫開發方式的高效、便捷和通用性得到進一步的彰顯,選擇的天平逐漸傾向於HAL 函數庫開發方式。作者實踐和比較了兩種開發方式之後,發現HAL 函數庫開發方式較標準函數庫開發方式可以明顯減少程式量,大幅降低程式設計人員翻閱資料手冊的頻率,研發週期大幅縮短,可靠性顯著提升。雖然HAL函數庫開發方式不是完美無瑕,但利遠大於弊,它是未來嵌入式開發的技術方向,也是STM32 官方主推的開發方式。所以,本書介紹的軟體設計是基於圖形化設定工具STM32CubeMX 的HAL 函數庫開發,這是當前技術主流,具有一定的前瞻性。
2. 內容簡介
針對上述情況,作者根據多年的嵌入式系統教學和開發經驗撰寫了本書,試圖做到循序漸進,理論與實踐並重,共通性與個性兼顧,將嵌入式系統的理論知識和基於ARM Cortex-M4 核心的STM32F407 微控制器的實際開發相結合。
全書共18章,劃分為以下三篇。
第一篇(第1~3章) 為系統平臺。第1章介紹了嵌入式系統定義、ARM 核心以及基於ARM Cortex-M4 核心的STM32 微控制器;第2章對STM32F407 微控制器和開發板硬體平臺各模組進行詳細介紹;第3章介紹STM32 軟體環境設定與使用入門。
第二篇(第4~10章) 為基本外接裝置,分別對STM32 嵌入式系統最常用外接裝置模組介紹。第4章講解通用輸入輸出通訊埠;第5章講解LED 流水燈與SysTick 計時器;第6章講解按鍵輸入與蜂鳴器;第7章講解FSMC 匯流排與雙顯示終端;第8章講解中斷系統與基本應用;第9章講解基本計時器;第10章講解通用計時器。
第三篇(第11~18章)為擴充外接裝置,分別對STM32 嵌入式系統高級外接裝置模組介紹。第11章講解串列通訊介面USART;第12章講解SPI 與字形檔儲存;第13章講解I2C 介面與EEPROM;第14 章講解類/數轉換與光照感測器;第15章講解直接記憶體存取;第16章講解數/ 類轉換器;第17章講解位元帶操作與溫濕度感測器;第18章講解RTC 與藍牙通訊。
無論是基本外接裝置,還是擴充外接裝置,從第4章開始到第18章結束,每一章先對理論知識進行講解,然後引入專案實例,舉出專案實施具體步驟,專案可以在課堂完成。整個教學理論與實踐一體,學中做,做中學。
3. 本書特色
(1) 以學生認知過程為導向,設計本書邏輯,組織章節內容。先硬體後軟體,由淺入深,循序漸進;遵循理論夠用,重在實踐,容易上手的原則,培養學習興趣,激發學習動力。
(2) 專案引領,任務驅動,教學做一體,注重學生專案實踐能力的培養。對於每個典型外接裝置模組,在簡明扼要地闡述原理的基礎上,圍繞其應用,以案例的形式討論其設計精髓,並在書中舉出了完整的專案案例。
(3) 發揚ARM 長處,助推MCU 升級。ARM 嵌入式系統實際上是8位元微控制器的升級擴充,但是其高性能必然對應高複雜度。借助8位元微控制器共通性的理念、方法和案例,有助提升讀者學習興趣,使其輕鬆入門嵌入式開發。
4. 書附資源
「不聞不若聞之,聞之不若見之,見之不若知之,知之不若行之」。學習新東西時,沒有什麼比實踐更重要的了!為此,作者從硬體和軟體兩個方面為讀者建立了良好的實踐環境。
在硬體方面,本書設計了以下模組:①板載CMSIS-DAP 偵錯器;②使用FSMC 匯流排同時連接數位管和TFT LCD;③獨立按鍵/ 矩陣鍵盤切換電路;④使用晶片外SPI Flash 晶片儲存中文字形檔。讀者可直接購買本書書附開發板,也可以將本書專案移植到已有開發板,還可以自主設計開發板。
在軟體方面,本書提供了書附實例的程式碼,便於讀者開發驗證。此外,本書還提供了教學教材、教學大綱、實驗素材等教學資源。
5. 致謝
在本書的撰寫過程中參閱了許多資料,在此對所參考書籍的作者表示誠摯的感謝。本書在撰寫過程中引用了網際網路上最新資訊及報導,在此向原作者和刊發機構表示真摯的謝意,並對不能一一註明來源深表歉意。對於收集到的沒有標明出處或找不到出處的共用資料,以及一些進行加工、修改後納入本書的資料,在此鄭重宣告,本書內容僅用於教學,其著作權屬於原作者,並向他們表示致敬和感謝。
在本書的撰寫過程中,作者獲得了家人的理解和幫助,並且一直得到清華大學出版社盛東亮老師和鐘志芳老師的關心和大力支持,清華大學出版社的工作人員也付出了辛勤的勞動,在此謹向支持和關心本書編著的家人、同仁和朋友一併致謝。
由於嵌入式技術發展日新月異,加之作者水準有限,書中難免有疏漏和不足之處,懇請讀者們批評指正。如果讀者對本書有任何意見、建議和想法,或希望獲取本書書附開發板的更多技術支援,請與作者聯繫。
作者
序言
1. 出版背景
「青山遮不住,畢竟東流去!」雖然我們已經累積了大量的經典的8 位元微控制器( 如MCS-51)、16 位元微控制器( 如MSP430) 的技術資料,但是複雜的指令、較低的主頻、有限的儲存空間、極少的片上外接裝置,使其在面對複雜應用時,捉襟見肘,難以勝任。8位元、16位元微控制器的應用不會就此結束,32位元處理器時代已經到來。
在這個大環境下,ARM Cortex-M處理器轟轟烈烈地誕生了!它性能更強、功耗更低、易於使用。許多曾經只能求助於高級32 位元處理器或DSP 的軟體設計,都能在ARM Cortex-M 處理器上跑得很快。按照AR...
目錄
第一篇 系統平台
第 1 章 ARM Cortex-M4嵌入式系統
1.1 嵌入式系統概述
1.1.1 什麼是嵌入式系統
1.1.2 嵌入式系統和通用電腦比較
1.1.3 嵌入式系統的特點
1.1.4 嵌入式系統的應用領域
1.1.5 嵌入式系統範例
1.2 嵌入式系統的硬體
1.2.1 嵌入式處理器的分類
1.2.2 嵌入式處理器的技術指標
1.2.3 嵌入式記憶體
1.2.4 嵌入式I/O裝置
1.2.5 嵌入式I/O介面
1.3 ARM Cortex-M4處理器
1.3.1 ARM公司
1.3.2 ARM處理器
1.4 STM32微控制器
1.4.1 從ARM Cortex-M核心到基於ARM Cortex-M的MCU
1.4.2 STM32微控制器產品線
1.4.3 STM32微控制器命名規則
1.5 嵌入式系統的軟體
1.5.1 無作業系統的嵌入式軟體
1.5.2 附帶作業系統的嵌入式軟體
1.5.3 典型嵌入式作業系統
1.5.4 軟體結構選擇建議
本章小結
思考拓展
第 2 章 STM32F407與實驗平臺
2.1 STM32F407微控制器
2.1.1 STM32F407/STM32F417系列
2.1.2 STM32F407功能特性
2.1.3 TM32F407內部結構
2.1.4 STM32F407記憶體映射
2.1.5 STM32F407時鐘系統
2.1.6 STM32F407接腳
2.2 開發板整體概況
2.2.1 開發板設計背景
2.2.2 開發板整體介紹
2.3 電源電路
2.3.1 電源電路原理圖
2.3.2 電源電路工作原理
2.4 核心板電路
2.4.1 晶片電源電路
2.4.2 CPU濾波電路
2.4.3 外接晶振電路
2.4.4 備用電源電路
2.4.5 重置電路
2.4.6 啟動設定電路
2.5 I/O模組電路
2.5.1 LED模組
2.5.2 按鍵模組
2.5.3 顯示模組
2.5.4 蜂鳴器模組
2.6 擴充模組電路
2.6.1 溫濕度感測器
2.6.2 光照感測器
2.6.3 A/D採樣模組
2.6.4 EEPROM
2.6.5 Flash記憶體
2.6.6 波形發生器
2.6.7 藍牙模組
2.6.8 I/O接腳外接模組
2.7 CMSIS-DAP偵錯器
本章小結
思考拓展
第 3 章 軟體環境設定與使用入門
3.1 STM32開發方式
3.1.1 STM32Snippets函數庫
3.1.2 標準外接裝置函數庫
3.1.3 STM32CubeMX HAL函數庫
3.1.4 STM32CubeMX LL函數庫
3.1.5 開發方式比較與選擇
3.2 軟體資源安裝與設定
3.2.1 JRE安裝
3.2.2 STM32CubeMX安裝
3.2.3 HAL軔體套件安裝
3.2.4 MDK-ARM安裝
3.2.5 元件套件安裝
3.2.6 MDK-ARM註冊
3.2.7 軟體安裝總結
3.3 基於STM32CubeMX的HAL開發方式
3.3.1 STM32CubeMX生成初始化程式
3.3.2 MDK-ARM整合開發
3.4 CMSIS-DAP偵錯器使用
3.4.1 偵錯器連接與驅動安裝
3.4.2 偵錯選項設定與程式下載
3.5 開發經驗小結—編譯器最佳化與volatile 關鍵字
3.5.1 編譯器最佳化
3.5.2 volatile關鍵字
本章小結
思考拓展
第二篇 基本外設
第 4 章 通用輸入輸出通訊埠
4.1 GPIO概述及接腳命名
4.2 GPIO內部結構
4.2.1 輸入驅動器
4.2.2 輸出驅動器
4.3 GPIO工作模式
4.3.1 輸入浮空
4.3.2 輸入上拉
4.3.3 輸入下拉
4.3.4 類比輸入
4.3.5 開漏輸出
4.3.6 開漏重複使用輸出
4.3.7 推拉式輸出
4.3.8 推拉式重複使用輸出
4.3.9 工作模式選擇
4.4 GPIO輸出速度
4.5 I/O接腳重複使用及映射
4.6 GPIO控制暫存器
4.7 GPIO控制暫存器設定實例
4.8 暫存器版LED燈閃爍專案
4.8.1 建立暫存器版專案範本
4.8.2 LED燈閃爍程式設計
4.9 開發經驗小結—MDK中的C語言資料型態
本章小結
思考拓展
第 5 章 LED流水燈與SysTick計時器
5.1 GPIO輸出庫函數
5.1.1 GPIO外接裝置時鐘啟用
5.1.2 函數HAL_GPIO_Init()
5.1.3 函數HAL_GPIO_DeInit()
5.1.4 函數HAL_GPIO_WritePin()
5.1.5 函數HAL_GPIO_TogglePin()
5.1.6 輸出暫存器存取
5.2 LED流水燈控制
5.3 SysTick計時器
5.3.1 SysTick計時器概述
5.3.2 SysTick計時器暫存器
5.3.3 延遲時間函數HAL_Delay()
5.3.4 HAL_Delay() 延遲時間實例
5.3.5 微秒級延遲時間的實現
5.3.6 綜合延遲時間程式實例
5.4 開發經驗小結—C語言中的位元運算
5.4.1 位元運算符號和位元運算
5.4.2 嵌入式系統位元運算實例
本章小結
思考拓展
第 6 章 按鍵輸入與蜂鳴器
6.1 GPIO 輸入庫函數
6.1.1 函數HAL_GPIO_ReadPin()
6.1.2 輸入資料暫存器存取
6.1.3 函數HAL_GPIO_LockPin()
6.2 獨立按鍵控制蜂鳴器
6.2.1 電路原理
6.2.2 按鍵消抖
6.2.3 專案實施
6.3 矩陣鍵盤掃描
6.3.1 矩陣鍵盤電路
6.3.2 矩陣鍵盤掃描原理
6.3.3 矩陣鍵盤實例
6.4 開發經驗小結—複合資料型態
6.4.1 結構資料型態
6.4.2 列舉資料型態
本章小結
思考拓展
第 7 章 FSMC 匯流排與雙顯示終端
7.1 FSMC匯流排
7.2 硬體系統設計
7.2.1 硬體結構方塊圖
7.2.2 FSMC與TFT LCD 連接
7.2.3 FSMC與數位管連接
7.3 數位管介面技術
7.3.1 數位管工作原理
7.3.2 數位管編碼方式
7.3.3 數位管顯示方式
7.4 TFT LCD驅動
7.4.1 ILI9341 顏色系統
7.4.2 ILI9341 常用命令
7.5 專案實例
7.5.1 FSMC讀寫時序
7.5.2 FSMC初始化
7.5.3 數位管動態顯示學號
7.5.4 數位管動態顯示時間
7.5.5 LCD驅動程式
7.5.6 LCD英文顯示
7.5.7 LCD中文資訊顯示
7.6 開發經驗小結—C語言指標及其類型轉換
7.6.1 指標基本概念
7.6.2 指標類型轉換
本章小結
思考拓展
第 8 章 中斷系統與基本應用
8.1 中斷的基本概念
8.1.1 中斷的定義
8.1.2 中斷的優點與應用
8.1.3 中斷來源與中斷遮罩
8.1.4 中斷處理過程
8.1.5 中斷優先順序與中斷巢狀結構
8.2 STM32F407中斷系統
8.2.1 巢狀結構向量中斷控制器
8.2.2 STM32F407中斷優先順序
8.2.3 STM32F407中斷向量表
8.2.4 STM32F407中斷服務函數
8.3 STM32F407外部中斷/事件控制器EXTI
8.3.1 EXTI內部結構
8.3.2 EXTI工作原理
8.3.3 EXTI主要特性
8.4 STM32F407外部中斷HAL函數庫
8.4.1 STM32F407的NVIC相關函數庫
8.4.2 STM32F407的EXTI相關函數庫
8.5 EXTI專案實例
8.5.1 開發專案
8.5.2 專案實施
8.5.3 ISR框架總結
8.6 開發經驗小結—前/背景嵌入式軟體架構
本章小結
思考拓展
第 9 章 基本計時器
9.1 STM32F407計時器概述
9.2 基本計時器
9.2.1 基本計時器簡介
9.2.2 基本計時器的主要特性
9.2.3 基本計時器的功能
9.2.4 基本計時器暫存器
9.3 基本計時器的HAL驅動
9.3.1 基本計時器主要HAL驅動函數
9.3.2 計時器通用操作巨集函數
9.3.3 計時器中斷處理函數
9.4 專案實例
9.4.1 數字電子鐘
9.4.2 計時器更新數位管
9.4.3 計時器矩陣鍵盤掃描
本章小結
思考拓展
第 10 章 通用計時器
10.1 通用計時器功能概述
10.1.1 通用計時器主要特性
10.1.2 通用計時器功能描述
10.2 通用計時器工作模式與HAL驅動
10.2.1 PWM輸出模式
10.2.2 輸出比較模式
10.2.3 輸入捕捉模式
10.2.4 PWM輸入模式
10.3 通用計時器暫存器
10.4 通用計時器中斷事件和回呼函數
10.5 專案實例
10.5.1 PWM呼吸燈
10.5.2 輸出比較模式輸出方波訊號
10.5.3 輸入捕捉模式測量脈衝頻率
10.5.4 PWM波頻率和工作週期比測量
本章小結
思考拓展
第三篇 擴展外設
第 11 章 串列通訊介面USART
11.1 資料通信基本概念
11.1.1 並行通訊與串列通訊
11.1.2 非同步通訊與同步通訊
11.1.3 串列通訊的制式
11.1.4 串列通訊的驗證
11.1.5 串列通訊的串列傳輸速率
11.2 USART工作原理
11.2.1 USART介紹
11.2.2 USART功能特性
11.2.3 UART通訊協定
11.2.4 USART中斷
11.2.5 USART相關暫存器
11.3 UART的HAL驅動
11.3.1 UART常用功能函數
11.3.2 UART常用的巨集函數
11.3.3 UART中斷事件與回呼函數
11.4 序列埠通訊專案實例
11.4.1 開發專案
11.4.2 微控制器端程式設計
11.4.3 上位機程式設計
11.4.4 序列埠通訊偵錯
11.5 開發經驗小結—printf()重定向函數
11.5.1 重寫fputc()函數
11.5.2 選擇使用Micro LIB
11.5.3 printf()序列埠列印資訊
本章小結
思考拓展
第 12 章 SPI與字形檔儲存
12.1 SPI通訊原理
12.1.1 SPI
12.1.2 SPI互連 ...................................................................................12-4
12.2 STM32F407的SPI工作原理
12.2.1 SPI主要特徵
12.2.2 SPI內部結構
12.2.3 時鐘訊號的相位和極性
12.2.4 資料框架格式
12.3 Flash儲存晶片W25Q128
12.3.1 硬體介面和連接
12.3.2 儲存空間劃分
12.3.3 資料讀寫原則
12.3.4 記憶體操作指令
12.4 SPI的HAL函數庫驅動
12.4.1 SPI暫存器操作的巨集函數
12.4.2 SPI初始化和阻塞式資料傳輸
12.4.3 中斷和DMA方式資料傳輸
12.5 SPI Flash讀寫測試
12.5.1 開發專案
12.5.2 專案實施
12.6 中文字形檔儲存
12.6.1 需求分析
12.6.2 字形檔生成與合併
12.6.3 字形檔儲存
12.6.4 LCD中文驅動程式
12.7 基於SPI快閃記憶體的中文顯示
12.8 開發經驗小結——條件編譯
12.8.1 命令形式
12.8.2 應用範例
本章小結
思考拓展
第 13 章 I2C介面與EEPROM
13.1 I2C通訊原理
13.1.1 I2C串列匯流排概述
13.1.2 I2C匯流排的資料傳送
13.2 STM32F407的I2C介面
13.2.1 STM32F407的I2C主要特性
13.2.2 STM32F407的I2C內部結構
13.2.3 STM32F407的I2C工作模式
13.3 I2C介面的HAL函數庫驅動
13.3.1 I2C介面的初始化
13.3.2 阻塞式資料傳輸
13.3.3 中斷方式資料傳輸
13.3.4 DMA方式資料傳輸
13.4 EEPROM儲存晶片24C02
13.4.1 晶片概述與硬體連接
13.4.2 介面與通訊協定
13.5 EEPROM儲存開機密碼專案
13.5.1 開發專案
13.5.2 專案實施
本章小結
思考拓展
第 14 章 類/數轉換與光照感測器
14.1 ADC概述
14.1.1 ADC基本原理
14.1.2 ADC性能參數
14.1.3 ADC主要類型
14.2 STM32F407的ADC工作原理
14.2.1 主要特徵
14.2.2 內部結構
14.2.3 通道及分組
14.2.4 時序圖
14.2.5 資料對齊
14.2.6 校準
14.2.7 轉換時間
14.2.8 轉換模式
14.2.9 外部觸發轉換和觸發極性
14.2.10 中斷和DMA請求
14.2.11 多重ADC模式
14.3 ADC的HAL函數庫驅動
14.3.1 規則通道驅動
14.3.2 注入通道驅動
14.3.3 多重ADC驅動
14.4 專案實例
14.4.1 多通道輪詢方式類比訊號擷取
14.4.2 光照感測器類比與數位同步控制
本章小結
思考拓展
第 15 章 直接記憶體存取
15.1 DMA的基本概念
15.1.1 DMA的由來
15.1.2 DMA的定義
15.1.3 DMA的優點
15.2 STM32F407的DMA工作原理
15.2.1 DMA簡介
15.2.2 DMA通道選擇
15.2.3 DMA主要特性
15.2.4 DMA傳輸屬性
15.3 DMA的HAL函數庫驅動
15.3.1 DMA的HAL函數概述
15.3.2 DMA傳輸初始化設定
15.3.3 啟動DMA資料傳輸
15.3.4 DMA中斷
15.4 專案實例
15.4.1 USART介面DMA傳輸
15.4.2 計時器觸發DMA傳輸多通道類比量擷取
15.4.3 三重ADC同步轉換DMA傳輸
15.5 開發經驗小結—輪詢、中斷、DMA
15.5.1 輪詢
15.5.2 中斷
15.5.3 DMA
本章小結
思考拓展
第 16 章 數/類轉換器
16.1 DAC概述
16.1.1 DAC基本原理
16.1.2 DAC性能參數
16.2 STM32F407的DAC工作原理
16.2.1 DAC結構與特性
16.2.2 DAC功能說明
16.3 DAC的HAL函數庫驅動
16.3.1 DAC驅動巨集函數
16.3.2 DAC驅動功能函數
16.4 專案實例
16.4.1 軟體觸發D/A轉換
16.4.2 三角波輸出
16.4.3 使用DMA輸出正弦波訊號
本章小結
思考拓展
第 17 章 位元帶操作與溫濕度感測器
17.1 STM32位元帶操作
17.1.1 位元帶介紹
17.1.2 位元等量與位元帶別名區位址轉換
17.1.3 位元帶操作巨集定義
17.2 溫濕度感測器DHT11
17.2.1 DHT11 功能說明
17.2.2 DHT11 單匯流排通訊協定
17.3 溫濕度即時監測
17.3.1 開發專案
17.3.2 專案實施
本章小結
思考拓展
第 18 章 RTC與藍牙通訊
18.1 RTC概述
18.1.1 RTC功能
18.1.2 RTC工作原理
18.1.3 RTC的中斷和重複使用接腳
18.2 RTC的HAL函數庫驅動
18.2.1 RTC的HAL基礎驅動程式
18.2.2 週期喚醒相關HAL函數
18.2.3 鬧鈴相關HAL函數
18.3 備份暫存器
18.4 RTC日曆和鬧鈴專案
18.4.1 開發專案
18.4.2 專案實施
18.5 藍牙模組通訊
18.5.1 藍牙通訊概述
18.5.2 藍牙透明傳輸原理
18.6 無線時間同步電子萬年曆
18.6.1 開發專案
18.6.2 專案實施
本章小結
思考拓展
附錄A ASCII 碼表
附錄B 運算子和結合性關係表
附錄C STM32F407微控制器接腳定義表
參 考 文 獻
第一篇 系統平台
第 1 章 ARM Cortex-M4嵌入式系統
1.1 嵌入式系統概述
1.1.1 什麼是嵌入式系統
1.1.2 嵌入式系統和通用電腦比較
1.1.3 嵌入式系統的特點
1.1.4 嵌入式系統的應用領域
1.1.5 嵌入式系統範例
1.2 嵌入式系統的硬體
1.2.1 嵌入式處理器的分類
1.2.2 嵌入式處理器的技術指標
1.2.3 嵌入式記憶體
1.2.4 嵌入式I/O裝置
1.2.5 嵌入式I/O介面
1.3 ARM Cortex-M4處理器
1.3.1 ARM公司
1.3.2 ARM處理器
1.4 STM32微控制器
1.4.1 從ARM Cortex-M核心到基於ARM Cortex-M的MCU
1.4.2 STM32微控制器產品線
1.4.3 ST...
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。