本書從實戰(zhàn)角度出發(fā),從基礎(chǔ)開始,以設(shè)計案例為主線,以探索者ALIENTEK STM32F4 開發(fā)板為實踐平臺,結(jié)合代碼分析,詳細(xì)介紹了基于Cortex-M4內(nèi)核的STM32處理器的全部設(shè)計過程,包括STM32處理器的基本性能參數(shù)、硬件電路設(shè)計及針對性很強(qiáng)的整體項目方案的剖析。讀者只需要跟著作者的思路,就能完全掌握STM32的開發(fā)和設(shè)計,可以獨(dú)立完成項目。
前言
近年來,物聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)、大數(shù)據(jù)和云計算的迅猛發(fā)展,慢慢改變了社會的生產(chǎn)方式,大大提高了生產(chǎn)效率,促進(jìn)了社會生產(chǎn)力的發(fā)展。嵌入式系統(tǒng)作為一個熱門領(lǐng)域,涵蓋了微電子技術(shù)、電子信息技術(shù)、計算機(jī)軟件和硬件等多項技術(shù)領(lǐng)域的應(yīng)用。到目前為止,我國嵌入式系統(tǒng)已經(jīng)應(yīng)用到電信、醫(yī)療、汽車、安全、工業(yè)控制等行業(yè),隨著計算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)和微電子技術(shù)的深入發(fā)展,嵌入式系統(tǒng)的應(yīng)用還將不斷拓展到智能制造、智慧農(nóng)業(yè)、智能家居、智能交通和車聯(lián)網(wǎng)、智慧醫(yī)療和健康養(yǎng)老,以及智慧節(jié)能環(huán)保等方方面面。
隨著嵌入式系統(tǒng)設(shè)計和物聯(lián)網(wǎng)工程應(yīng)用技術(shù)的迅速發(fā)展和普及,對嵌入式系統(tǒng)設(shè)計的技術(shù)人才需求越來越大,同時也迫切需要較好的適合于不同層次人員使用的教材和參考書。本書從實用的角度出發(fā),針對于應(yīng)用型本科院校信息類專業(yè)課程的需要,結(jié)合作者多年的教學(xué)、科研方面的經(jīng)驗編寫了這部以實際案例為主要內(nèi)容的應(yīng)用型教材。
本書的實例內(nèi)容是在以STM32F407微處理器為核心,利用STM32的庫函數(shù),以C語言作為編程語言講解STM32F4的接口以及應(yīng)用。本書共分兩部分,共25章,內(nèi)容包括:第1章和第2章為第一部分,主要介紹嵌入式系統(tǒng)的基礎(chǔ)知識,包括嵌入式系統(tǒng)的基本概念與開發(fā)流程、嵌入式處理器、嵌入式系統(tǒng)的軟硬件組成、開發(fā)平臺與集成開發(fā)環(huán)境及工程建立的流程和調(diào)試方法。第3章到第25章為第二部分,通過實例詳細(xì)講解了利用STM32的庫函數(shù)實現(xiàn)GPIO、串口通信、外部與定時器中斷、PWM輸出、OLED與TFTLCD顯示、ADC與DAC轉(zhuǎn)換、溫度與光敏傳感器的數(shù)據(jù)采集、DMA、SPI、CAN通信、觸摸屏程序的設(shè)計、NRF24L01無線傳輸、SD卡及圖片與音頻的傳輸?shù)韧庠O(shè)的應(yīng)用方法及開發(fā)流程。
本書在編寫過程中,借鑒和參考了國內(nèi)外專家、學(xué)者、技術(shù)人員的相關(guān)研究成果,在此謹(jǐn)向有關(guān)作者表示深深的敬意和謝意。限于筆者的水平和經(jīng)驗,疏漏之處在所難免,懇請專家和讀者批評指正。
有關(guān)教學(xué)綱要可咨詢出版社。
寧靖,男,1979年生于湖南長沙,2002年于北京大學(xué)獲學(xué)士學(xué)位,2007年于南洋理工大學(xué)獲博士學(xué)位。現(xiàn)在擔(dān)任遼東學(xué)院電子信息工程系主任,承擔(dān)《單片機(jī)原理于接口技術(shù)》、《嵌入式系統(tǒng)設(shè)計》等課程。主要研究方向為嵌入式系統(tǒng)開發(fā),機(jī)器學(xué)習(xí)方法及人工智能應(yīng)用。
目錄
1嵌入式系統(tǒng)基礎(chǔ)
11嵌入式系統(tǒng)概述
12嵌入式系統(tǒng)的組成
13嵌入式系統(tǒng)的開發(fā)流程
14嵌入式處理器概述
15嵌入式系統(tǒng)開發(fā)平臺
16STM32 官方標(biāo)準(zhǔn)固件庫
2嵌入式系統(tǒng)開發(fā)環(huán)境工具
21RealView MDK集成開發(fā)環(huán)境
22新建工程模板
23程序下載與調(diào)試
3I/O端口控制
31STM32F4 I/O口簡介
32硬件設(shè)計
33軟件設(shè)計
4蜂鳴器控制
41蜂鳴器簡介
42硬件設(shè)計
43軟件設(shè)計
5按鍵控制
51STM32F4 I/O口簡介
52硬件設(shè)計
53軟件設(shè)計
6串口通信控制
61STM32F4串口簡介
62硬件設(shè)計
63軟件設(shè)計
7外部中斷控制
71STM32F4外部中斷簡介
72硬件設(shè)計
73軟件設(shè)計
8定時器中斷控制
81STM32F4通用定時器簡介
82硬件設(shè)計
83軟件設(shè)計
9PWM控制
91PWM簡介
92硬件設(shè)計
93軟件設(shè)計
10OLED顯示控制
101OLED簡介
102硬件設(shè)計
103軟件設(shè)計
11LCD顯示控制
111TFTLCD & FSMC簡介
112硬件設(shè)計
113軟件設(shè)計
12A/D轉(zhuǎn)換控制
121STM32F4 ADC簡介
122硬件設(shè)計
123軟件設(shè)計
13內(nèi)部溫度傳感器的應(yīng)用
131STM32F4內(nèi)部溫度傳感器簡介
132硬件設(shè)計
133軟件設(shè)計
14內(nèi)部光敏傳感器的應(yīng)用
141光敏傳感器簡介
142硬件設(shè)計
143軟件設(shè)計
15D/A轉(zhuǎn)換控制
151STM32F4 DAC簡介
152硬件設(shè)計
153軟件設(shè)計
16PWM DAC的應(yīng)用
161PWM DAC簡介
162硬件設(shè)計
163軟件設(shè)計
17DMA控制
171STM32F4 DMA簡介
172硬件設(shè)計
173軟件設(shè)計
18SPI通信控制
181SPI串行外圍設(shè)備接口
182硬件設(shè)計
183軟件設(shè)計
19CAN通信控制
191CAN簡介
192硬件設(shè)計
193軟件設(shè)計
20觸摸屏控制
201觸摸屏簡介
202硬件設(shè)計
203軟件設(shè)計
21外部溫度傳感器的應(yīng)用
211DS18B20簡介
212硬件設(shè)計
213軟件設(shè)計
22無線通信控制
221無線模塊簡介
222硬件設(shè)計
223軟件設(shè)計
23外部存儲器管理
231SDIO簡介
232硬件設(shè)計
233軟件設(shè)計
24圖片顯示控制
241光敏傳感器簡介
242硬件設(shè)計
243軟件設(shè)計
25音頻輸出控制
251WAV & WM8978&I2S簡介
252硬件設(shè)計
253軟件設(shè)計
參考文獻(xiàn)