本書從一個(gè)最簡(jiǎn)單的 STM32/GD32的程序出發(fā),逐步過渡到時(shí)鐘系統(tǒng)的作用和配置、如何精確延時(shí)、使定時(shí)器對(duì)各種信號(hào)進(jìn)行捕獲。為了解決HAL庫函數(shù)涉及的大量的C語言知識(shí),針對(duì)模塊寄存器的特點(diǎn)介紹了如何使用結(jié)構(gòu)體對(duì)這些寄存器進(jìn)行封裝,并以GPIO的設(shè)置函數(shù)為例,介紹了如何實(shí)現(xiàn)功能的封裝,并最過渡到 HAL庫中庫函數(shù)的形成以及特點(diǎn)。全書共包含9個(gè)模塊,其中:模塊一介紹STM32/GD32 開發(fā)環(huán)境的使用,并順帶學(xué)習(xí) GPIO 口的輸出功能應(yīng)用和 STM32/GD32系列單片機(jī)相關(guān)知識(shí)以及本書使用的硬件平臺(tái);模塊二介紹STM32/GD32時(shí)鐘系統(tǒng)的作用以及配置流程;模塊三介紹系統(tǒng)滴答定時(shí)器的定時(shí)原理及延中的應(yīng)用,同時(shí)對(duì)模塊化編程的思想進(jìn)行介紹;模塊四介紹 STM32/GD32 的存儲(chǔ)器,包括程序的存放地點(diǎn)以及STM32/GD32的存儲(chǔ)器結(jié)構(gòu)等,并通過GPIO口的設(shè)置函數(shù)的定義初步學(xué)習(xí) STM32/GD32的功能集成;模塊五介紹機(jī)械按鍵的識(shí)別,通過該模塊的學(xué)習(xí),可以知道GPIO口的輸入的應(yīng)用特點(diǎn),并對(duì)目前市面上的各種矩陣鍵盤的按鍵狀態(tài)的識(shí)別進(jìn)行了介紹;模塊六介紹使用ST公司的初始化工具 STM32CubeMX對(duì) STM32/GD32功能模塊的初始化,并介紹HAL庫的GPIO模塊控制的相關(guān)函數(shù);模塊七介紹STM32/GD32中斷的使能、響應(yīng)和執(zhí)行過程;模塊八介紹串口通信,包括輪詢方式、中斷方式收發(fā)數(shù)據(jù);模塊九學(xué)習(xí)定時(shí)器,在該模塊中,對(duì)定時(shí)器的原理進(jìn)行了詳細(xì)的介紹,并通過定時(shí)器中斷、PWM信號(hào)的產(chǎn)生、輸入捕獲等的學(xué)習(xí)來對(duì)定時(shí)器進(jìn)行整體的把握,為定時(shí)器的各種應(yīng)用奠定堅(jiān)實(shí)基礎(chǔ)。
本書適合作為高職、應(yīng)用型本科相關(guān)專業(yè)的教材。不過由于本書以技術(shù)介紹和應(yīng)用為主,因此也可以作為本科相關(guān)專業(yè)的教材,以及作為相關(guān)技術(shù)人員的參考用書。
模塊1 STM32 開發(fā)入門基礎(chǔ)知識(shí)
項(xiàng)目1.1 STM32的開發(fā)過程
1.1.1 STM32的開發(fā)過程簡(jiǎn)介
1.1.2 STM32 的通用 I/O 口的輸出功能
項(xiàng)目1.2STM32的基礎(chǔ)知識(shí)
1.2.1 STM32 單片機(jī)基礎(chǔ)知識(shí)
1.2.2 STM32 開發(fā)依托的硬件平臺(tái)
思考與練習(xí)
模塊 2 深入了解 STM32 的時(shí)鐘系統(tǒng)
項(xiàng)目2.1 單片機(jī)中時(shí)鐘系統(tǒng)的作用
項(xiàng)目2.2 STM32F4 的時(shí)鐘系統(tǒng)
2.2.1 時(shí)鐘源.
2.2.2 主鎖相環(huán)PLL
2.2.3 系統(tǒng)時(shí)鐘 SYSCLK
2.2.4 由SYSCLK模塊提供時(shí)鐘源的時(shí)鐘
2.2.5 APB1 總線和 APB2 總線上掛接的模塊
項(xiàng)目2.3 系統(tǒng)時(shí)鐘設(shè)置步驟
思考與練習(xí)
模塊3 Systick定時(shí)器的應(yīng)用和模塊化編程
項(xiàng)目3.1精確延時(shí)的實(shí)現(xiàn)--滴答定時(shí)器的原理及其應(yīng)用
項(xiàng)目3.2 Systick定時(shí)器的內(nèi)部結(jié)構(gòu)
3.2.1 滴答定時(shí)器簡(jiǎn)介
3.2.2 滴答定時(shí)器的構(gòu)成
3.2.3 滴答定時(shí)器的寄存器封裝和模塊基地址的定義
項(xiàng)目3.3 滴答定時(shí)器的延時(shí)應(yīng)用
項(xiàng)目3.4 模塊化編程
思考與練習(xí)
模塊 4 STM32的存儲(chǔ)器結(jié)構(gòu)和 GPIO 設(shè)置通用函數(shù)設(shè)計(jì)
項(xiàng)目4.1STM32的存儲(chǔ)器
項(xiàng)目4.2 位段區(qū)域及其對(duì)應(yīng)位段別名區(qū)的關(guān)系 ..
4.2.1 位段和位段別名區(qū)的含義
4.2.2 位段和位段別名區(qū)地址的映射關(guān)系
4.2.3 位段中的位與位段別名區(qū)中字地址的代碼處理項(xiàng)目
4.3存儲(chǔ)器基礎(chǔ)知識(shí)
項(xiàng)目4.4 CPU和存儲(chǔ)器的數(shù)據(jù)交互
項(xiàng)目4.5STM32的存儲(chǔ)器結(jié)構(gòu)
4.5.1CM4內(nèi)核的存儲(chǔ)器結(jié)構(gòu)
4.5.2 STM32的存儲(chǔ)器結(jié)構(gòu)
項(xiàng)目4.6 通用1/0口設(shè)置函數(shù)的設(shè)計(jì)
思考與練習(xí)
模塊5 機(jī)械按鍵的識(shí)別--初步認(rèn)識(shí)GPIO口的輸入功能項(xiàng)目
5.1 機(jī)械按鍵的識(shí)別
5.1.1 機(jī)械按鍵狀態(tài)的特點(diǎn)及其識(shí)別
5.1.2 GPIO端口位的數(shù)據(jù)輸入通道及輸入數(shù)據(jù)的讀取
5.1.3 GPIO端口位的輸入配置及上下拉電阻使能
5.1.4 STM32全部電路模塊的寄存器封裝項(xiàng)目
5.2 4x4矩陣鍵盤按鍵狀態(tài)的識(shí)別
思考與練習(xí)
·
模塊 6 基于 STM32CubeMX的 GPIO 口的輸入/輸出功能設(shè)計(jì)
項(xiàng)目6.1STM32CubeMX應(yīng)用基礎(chǔ)
6.1.1 認(rèn)識(shí) STM32CubeMX
6.1.2 基于 STM32CubeMX的開發(fā)步驟
6.1.3 STM32CubeMX生成工程
項(xiàng)目6.2 HAE庫GPIO外設(shè)抽象層
6.2.1 HAL 庫中 GPIO 相關(guān)函數(shù)
6.2.2 HAL庫中GPIO 口寄存器的封裝和相關(guān)定義
思考與練習(xí)·
模塊7 認(rèn)識(shí)STM32的中斷系統(tǒng)
項(xiàng)目7.1 外部中斷任務(wù)的實(shí)現(xiàn)及其實(shí)現(xiàn)過程
7.1.1 STM32的外部中斷執(zhí)行過程
7.1.2 使用STM32CubeMX配置中斷時(shí)的注意事項(xiàng)
項(xiàng)目7.2 中斷的含義及其作用
項(xiàng)目7.3STM32的中斷管理
7.3.1 STM32的中斷源
7.3.2 STM32的中斷使能/失能控制.
7.3.3 STM32的中斷優(yōu)先級(jí)設(shè)置
7.3.4 STM32的中斷函數(shù)
7.3.5 中斷函數(shù)的響應(yīng)過程
……
模塊8 STM32串口及其應(yīng)用
模塊9 認(rèn)識(shí)STM32的定時(shí)器
附錄
參考文獻(xiàn)