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