本書主要內容包括ARM Cortex-M4處理器與STM32F4微控制器簡介、STM32CubeMX、Keil MDK-ARM與STM-Studio開發工具的介紹、通用輸入輸出埠技術、中斷技術、串列通信技術、TFT LCD顯示與觸控控制技術、FATFS檔案系統與SD卡讀寫控制技術。本書附有完整的範例程式與詳盡的實驗步驟,帶領讀者逐步完成微控制器程式的設計撰寫,培養讀者微控制器系統的開發能力。
微控制器原理與應用:基於STM32 ARM Cortex-M4F處理器(2版)
內容描述
目錄大綱
第1章 ARM Cortex-M4處理器與STM32F4微控制器簡介
1-1 Cortex-M處理器家族
1-2 ARM Cortex-M4F處理器基本結構
1-3 STM32F412ZGT6微處理器
第2章 STM32F4系列微控制器開發平台與開發工具介紹
2-1 開發平台:STM32F412G-DISCO探索板
2-2 系統需求
2-3 開發工具
第3章 最小軟體系統
3-1 最小軟體系統製作
3-2 開機啟動程式
第4章 通用輸入輸出埠GPIO與LED顯示控制
4-1 GPIO簡介
4-2 GPIO埠基本結構介紹
4-3 LED閃爍的實驗:使用GPIO輸出控制LED顯示
4-4 LED_Blink專案程式碼解說
4-5 BSP函數庫:使用BSP函數控制LED顯示
第5章 JOYSTICK輸入控制
5-1 GPIO輸入模式
5-2 JOYSTICK單鈕控制LED燈(On/Off)
5-3 JOYSTICK多鈕控制LED燈狀態
5-4 使用BSP函數實作多按鈕控制LED燈狀態
第6章 TFT LCD顯示控制
6-1 TFT LCD裝置
6-2 FSMC介面
6-3 利用STM32CubeMX創建TFT LCD專案
6-4 TFT LCD顯示文字的實驗
6-5 TFT LCD顯示棋盤圖案的實驗
6-6 TFT LCD顯示動態圖案的實驗
第7章 基本計時器(Timer)
7-1 基本計時器簡介
7-2 定時中斷控制LED燈閃爍
第8章 外部中斷控制
8-1 外部中斷控制器簡介
8-2 外部中斷控制專案配置與中斷處理程式設計與測試
8-3 JOYSTICK單鈕中斷觸發改變LED燈閃爍速度
8-4 JOYSTICK多按鈕中斷控制LED顯示
第9章 脈波寬度調變控制
9-1 計時器PWM模式
9-2 PWM控制的實驗
第10章 即時時鐘控制
10-1 RTC簡介
10-2 RTC日曆
10-3 RTC鬧鐘
10-4 RTC日曆與鬧鐘功能實驗
第11章 觸控螢幕控制
11-1 觸摸晶片簡介
11-2 I2C介面簡介
11-3 建立觸控螢幕專案
11-4 TFT LCD觸控螢幕控制的實驗
第12章 類比至數位轉換器(ADC)
12-1 逐次逼近型(SAR:Successive Approximation Register)ADC原理
12-2 ADC的主要參數
12-3 STM32F412ZGT6上的ADC
12-4 利用ADC量測MCU內部溫度
第13章 UART通訊界面
13-1 UART簡介
13-2 輪詢式(Polling)UART通訊
13-3 中斷式(Interrupt) UART通訊
13-4 直接記憶體存取式(DMA) UART通訊
第14章 音訊錄製與播放
14-1 原理簡介
14-2 音訊錄製與播放之STM32CubeMX配置
14-3 音訊錄製與播放的軟體設計
第15章 FATFS檔案系統與SD卡讀寫控制
15-1 SD/SDIO MMC卡介面
15-2 FATFS簡介
15-3 利用STM32CubeMX創建SD卡讀寫控制的專案
15-4 SD卡讀寫控制的實驗
第16章 圖像播放器
16-1 利用STM32cubeMX創建圖像播放器
16-2 圖像播放的軟體設計
作者介紹
作者簡介
張國清
臺灣大學電機工程學博士
現任義守大學資訊工程學系專任副教授。其研究專長為微處理器架構、嵌入式系統、作業系統、物聯網、人工智慧等。曾參與過中華電信多項專案研究計畫,曾榮獲Altera亞洲創新設計大賽卓越指導老師獎,也曾獲得義守大學電機資訊學院傑出教學獎,擁有豐富的實務及教學經驗。
陳延華
義守大學電機研究所博士
目前任職於義守大學資工系專任教授,本書作者從事程式設計領域教學多年,廣泛接觸各種不同背景與程度的學生,對於毫無基礎或不同程度的初學者,學會如何撰寫程式,有獨特見解與教學方法。
柯松源
英國克倫菲爾大學博士
從事嵌入式系統設計與分析的工作多年,對微處理器的架構有深入的研究。專長為數位信號處理、雷達工程。曾帶領學生獲得「全國大專院校嵌入式軟體設計競賽」多媒體應用組的優等獎,也曾獲得國科會自由軟體嵌入式系統計畫類績優計畫獎,擁有豐富的實務及教學經驗。
廖冠雄
清華大學資訊工程學博士
現任義守大學資訊工程學系專任助理教授。其研究專長為無線網路、物聯網、網際網路電信、光波網路等。擁有多年網路相關課程授課經驗,參與過多項物聯網相關磨課師課程教材開發,對嵌入式系統軟體開發也具有相當的實務經驗。