《精通STM32F4(寄存器版 第2版)》由淺入深,旨在講解STM32F407的各個功能。該書總共分為3篇:硬件篇,主要介紹實驗平臺;軟件篇,主要介紹STM32F4常用開發(fā)軟件的使用以及一些下載調(diào)試的技巧,并詳細介紹幾個常用的系統(tǒng)文件(程序);實戰(zhàn)篇,通過34個實例(絕大部分是直接操作寄存器完成的)帶領(lǐng)大家一步步深入了解STM32F4。本次修訂對部分知識進行了更新。
該書可配套ALIENTEK探索者STM32F4開發(fā)板學習使用,配套資料包含詳細原理圖以及所有實例的完整代碼,這些代碼都有詳細的注釋,且都經(jīng)過嚴格測試,不會有任何警告和錯誤。另外,源碼已生成hex文件,讀者只需要通過串口/仿真器下載到開發(fā)板即可看到實驗現(xiàn)象,親自體驗實驗過程。
《精通STM32F4(寄存器版 第2版)》適用于學生和電子愛好者學習STM32F4,其大量的實驗以及詳細的解說也是公司產(chǎn)品開發(fā)的有力助手。
作為Cortex-M3市場的最大占有者之一,ST公司在2011年推出了基于Cortex -M4內(nèi)核的STM32F4系列產(chǎn)品。相比STM32F1/F2等Cortex-M3產(chǎn)品,STM32F4最大的優(yōu)勢就是新增了硬件FPU單元以及DSP指令,同時,其主頻也提高了很多,達到168 MHz(可獲得210 DMIPS的處理能力),使得STM32F4尤其適用于需要浮點運算或DSP處理的應用,因而被稱為DSC,具有非常廣泛的應用前景。
STM32F4相對于STM32F1,主要優(yōu)勢如下:
、俑冗M的內(nèi)核。STM32F4采用Cortex-M4內(nèi)核,帶FPU和DSP指令集,而STM32F1采用的是Cortex-M3內(nèi)核,不帶FPU和DSP指令集。
②更多的資源。STM32F4擁有192 KB的片內(nèi)SRAM,帶攝像頭接口(DCMI)、加密處理器(CRYP)、USB高速OTG、真隨機數(shù)發(fā)生器、OTP存儲器等。
、墼鰪姷耐庠O功能。對于相同的外設部分,STM32F4具有更快的模/數(shù)轉(zhuǎn)換速度、更低的ADC/DAC工作電壓、32位定時器、帶日歷功能的實時時鐘(RTC)、復用功能大大增強的I/O、4 KB的電池備份SRAM以及更快的USART和SPI通信速度。
④更高的性能。STM32F4最高運行頻率可達168 MHz,而STM32F1只能到72 MHz; STM32F4擁有ART自適應實時加速器,可以達到相當于FLASH零等待周期的性能,STM32F1則需要等待周期;STM32F4的FSMC采用32位多重AHB總線矩陣,相比STM32F1總線訪問速度明顯提高。
、莞偷墓。STM32F40x的功耗為238μA/MHz,其中,低功耗版本的STM32F401更是低到140μA/MHz,而STM32F1則高達421μA/MHz。
STM32F4家族目前擁有STM32F40x、STM32F41x、STM32F42x和STM32F43x等幾個系列、數(shù)十個產(chǎn)品型號,不同型號之間軟件和引腳具有良好的兼容性,可方便客戶迅速升級產(chǎn)品。其中,STM32F42x/43x系列帶LCD控制器和SDRAM接口,對于
想要驅(qū)動大屏或需要大內(nèi)存的用戶來說,是個不錯的選擇。目前,STM32F4這些芯片型號都已量產(chǎn),可以方便地購買到,性價比最高的是STM32F407。本書將以
STM32F407為例來講解STM32F4。
內(nèi)容特點
學習STM32F4經(jīng)常用到的資料:《STM32F4xx中文參考手冊》、《STM32F3與F4系列Cortex-M4內(nèi)核編程手冊》英文版、《ARM Cortex-M3與M4權(quán)威指南》英文版。
最常用的是《STM32F4xx中文參考手冊》。該手冊是ST官方針對STM32的一份通用參考資料,內(nèi)容翔實,但是沒有實例,也沒有對Cortex-M4構(gòu)架進行太多介紹,讀者只能根據(jù)自己對書本的理解來編寫相關(guān)代碼。
《STM32F3與F4系列Cortex-M4內(nèi)核編程手冊》則重點介紹了Cortex-M4內(nèi)核的匯編指令及其使用、內(nèi)核相關(guān)寄存器(如SCB、NVIC、SYSTICK等寄存器),是《STM32F4xx中文參考手冊》的重要補充。很多在《STM32F4xx中文參考手冊》無法找到的內(nèi)容都可以在這里找到,不過目前該文檔沒有中文版本,只有英文版。
《ARM Cortex-M3與M4權(quán)威指南》詳細介紹了Cortex-M3和Cortex-M4內(nèi)核的體系架構(gòu),并配有簡單實例。對于想深入了解Cortex-M4內(nèi)核的讀者來說,這是非常好的參考資料。該文檔目前只有英文版。由于Cortex-M3和Cortex-M4很多地方都是通用的,所以有的時候可以參考《ARM Cortex-M3權(quán)威指南(中文版)》文檔。
本書將結(jié)合以上3份資料,從寄存器級別出發(fā),深入淺出地向讀者展示STM32F4的各種功能。全書配有34個實例,每個實例均配有軟硬件設計,在介紹完軟硬件之后附上實例代碼,并帶有詳細注釋及說明,可讓讀者快速理解代碼。
本書實例涵蓋了STM32F4的絕大部分內(nèi)部資源,提供了很多實用級別的程序,如內(nèi)存管理、文件系統(tǒng)、圖片解碼、IAP等。所有實例在MDK5編譯器下編譯通過,讀者只須下載程序到ALIENTEK探索者STM32開發(fā)板即可驗證實驗。
讀者對象
不管你是一個STM32初學者,還是一個老手,本書都非常適合。對于初學者,本書將手把手地教你如何使用MDK,包括新建工程、編譯、仿真、下載調(diào)試等一系列步驟,讓你輕松上手。本書不適用于想通過庫函數(shù)學習STM32的讀者,因為本書的絕大部分內(nèi)容都是直接操作STM32寄存器的;如果想通過庫函數(shù)學習STM32F4,可以參考《精通STM32F4(庫函數(shù)版)(第2版)》一書。
配套資料
本書的實驗平臺是ALIENTEK探索者STM32開發(fā)板,有這款開發(fā)板的朋友可直接拿本書配套的例程在開發(fā)板上運行、驗證。而沒有這款開發(fā)板的朋友,可以上淘寶購買。當然,如果已有了一款自己的開發(fā)板,只要你的板子上有ALIENTEK探索者STM32開發(fā)板上的相同資源(需要實驗用到的)也可以,代碼一般都是通用的,你需要做的只是把底層的驅(qū)動函數(shù)(比如I/O口修改)稍做修改,使之適合你的開發(fā)板即可。
第1篇 硬件篇
第1章 實驗平臺簡介
1.1 ALIENTEK探索者STM32F4開發(fā)板資源初探
1.2 ALIENTEK探索者STM32F4開發(fā)板資源說明
1.2.1 硬件資源說明
11 2.2 軟件資源說明
第2章 實驗平臺硬件資源詳解
2.1 開發(fā)板原理圖詳解
2.2 開發(fā)板使用注意事項
2.3 STM32F4學習方法
第2篇 軟件篇
第3章 MDK5軟件入門
3.1 MDK5簡介
3.2 新建MDK5工程
3.3 MDK5使用技巧
3.3.1 文本美化
3.3.2 語法檢測與代碼提示
3.3.3 代碼編輯技巧
3.3.4 其他小技巧
第4章 下載與調(diào)試
4.1 STM32F4程序下載
4.2 STM32F4在線調(diào)試
第5章 SYSTEM文件夾介紹
5.1 delay文件夾代碼介紹
5.2 sys文件夾代碼介紹
5.2.1 I/0口的位操作實現(xiàn)
5.2.2 時鐘配置函數(shù)
5.2.3 Sys_Soft_Reset函數(shù)
5.2.4 Sys_Standby函數(shù)
5.2.5 110設置函數(shù)
5.2.6 中斷管理函數(shù)
5.3 usart文件夾介紹
5.3.1 USARTl_lRQHandler函數(shù)
5.3.2 uart_init函數(shù)
第3篇 實戰(zhàn)篇
第6章 跑馬燈實驗
第7章 按鍵輸入實驗
第8章 串口通信實驗
第9章 外部中斷實驗
第10章 獨立看門狗(IWDG)實驗
第11章 窗口看門狗(WWDG)實驗
第12章 定時器中斷實驗
第13章 PWM輸出實驗
第14章 輸入捕獲實驗
第15章 TFTLCD顯示實驗
第16章 USMART調(diào)試組件實驗
第17章 RTC實時時鐘實驗
第18章 待機喚醒實驗
第19章 ADC實驗
第20章 DAC實驗
第21章 DMA實驗
第22章 I2C實驗
第23章 SPI實驗
第24章 RS485實驗
第25章 CAN通信實驗
第26章 觸摸屏實驗
第27章 FLASH模擬EEPROM實驗
第28章 攝像頭實驗
第29章 外部SRAM實驗
第30章 內(nèi)存管理實驗
第31章 SD卡實驗
第32章 FATFS實驗
第33章 漢字顯示實驗
第34章 圖片顯示實驗
第35章 FPU測試(Julia分形)實驗
第36章 DSP測試實驗
第37章 串口IAP實驗
第38章 USB讀卡器(Slave)實驗
第39章 網(wǎng)絡通信實驗
參考文獻