本書以ARM Cortex M3內(nèi)核LPC1788微控制器為講述對象,分成基礎(chǔ)篇、入門篇、進(jìn)階篇,覆蓋了LPC1788微控制器基本外設(shè)應(yīng)用、嵌入式實時操作系統(tǒng)μC/OS II、μC/OS III、FreeRTOS、TCP/IP協(xié)議棧LwIP、μIP,以及嵌入式圖形系統(tǒng)μC/GUI的應(yīng)用,軟件與硬件兼顧,涉及理論但更偏重于實踐。
全書共分為20章,所講述的18個實例涵蓋了最常用的外設(shè)以及典型的應(yīng)用,實例設(shè)計中軟件架構(gòu)清晰,層次分明,跨平臺可移植性強(qiáng)。
本書可作為高等院校計算機(jī)、電子信息工程、自動控制等專業(yè)本科生、研究生的嵌入式系統(tǒng)教材,也可供從事ARM和嵌入式軟件開發(fā)的科研人員、從業(yè)人員和高等院校師生使用。
ARM CortexM3是一種基于ARM7v架構(gòu)的最新ARM內(nèi)核,NXP公司的LPC178x/7x系列微控制器以性能強(qiáng)大的ARM CortexM3 版本r2p0為內(nèi)核, 面向通信、工業(yè)、醫(yī)療、消費家電、汽車等領(lǐng)域,用于處理要求高集成度和低功耗嵌入式應(yīng)用的32位RISC處理器。
目前,市面上有關(guān)LPC1788系列微控制器的圖書為數(shù)不多,一般分為兩種類型:一類基于μC/OSIII講述嵌入式實時操作系統(tǒng)及外設(shè)應(yīng)用,另一類則多針對各種外設(shè)接口介紹編程設(shè)計。很少有能夠綜合硬件與嵌入式系統(tǒng)軟件設(shè)計,集各類綜合應(yīng)用于一體的。本書基于LPC178x/7x系列微控制器,既涉及基礎(chǔ)理論,又涉及嵌入式系統(tǒng)軟件設(shè)計,整體側(cè)重于實踐。內(nèi)容分為基礎(chǔ)篇、入門篇和進(jìn)階篇:基礎(chǔ)篇主要介紹LPC1788微控制器分類與結(jié)構(gòu)特點,RealView MDK、IAR EWARM的開發(fā)環(huán)境及其開發(fā)板;入門篇主要基于LPC1788微控制器的常用外設(shè)進(jìn)行應(yīng)用設(shè)計;重點為進(jìn)階篇,覆蓋了嵌入式實時操作系統(tǒng)μC/OSII、μC/OSIII、FreeRTOS、TCP/IP協(xié)議棧LwIP、μIP,以及嵌入式圖形系統(tǒng)μC/GUI,在介紹硬件編程設(shè)計與應(yīng)用的同時,深化了基于系統(tǒng)軟件層次架構(gòu)下的應(yīng)用,使讀者迅速入門和提高。
本書的內(nèi)容結(jié)構(gòu)
全書共20章,劃分為三大篇。各篇、章內(nèi)容安排如下:
基礎(chǔ)篇 ARM CortexM3是一種基于ARM7v架構(gòu)的最新ARM內(nèi)核,NXP公司的LPC178x/7x系列微控制器以性能強(qiáng)大的ARM CortexM3 版本r2p0為內(nèi)核, 面向通信、工業(yè)、醫(yī)療、消費家電、汽車等領(lǐng)域,用于處理要求高集成度和低功耗嵌入式應(yīng)用的32位RISC處理器。
目前,市面上有關(guān)LPC1788系列微控制器的圖書為數(shù)不多,一般分為兩種類型:一類基于μC/OSIII講述嵌入式實時操作系統(tǒng)及外設(shè)應(yīng)用,另一類則多針對各種外設(shè)接口介紹編程設(shè)計。很少有能夠綜合硬件與嵌入式系統(tǒng)軟件設(shè)計,集各類綜合應(yīng)用于一體的。本書基于LPC178x/7x系列微控制器,既涉及基礎(chǔ)理論,又涉及嵌入式系統(tǒng)軟件設(shè)計,整體側(cè)重于實踐。內(nèi)容分為基礎(chǔ)篇、入門篇和進(jìn)階篇:基礎(chǔ)篇主要介紹LPC1788微控制器分類與結(jié)構(gòu)特點,RealView MDK、IAR EWARM的開發(fā)環(huán)境及其開發(fā)板;入門篇主要基于LPC1788微控制器的常用外設(shè)進(jìn)行應(yīng)用設(shè)計;重點為進(jìn)階篇,覆蓋了嵌入式實時操作系統(tǒng)μC/OSII、μC/OSIII、FreeRTOS、TCP/IP協(xié)議棧LwIP、μIP,以及嵌入式圖形系統(tǒng)μC/GUI,在介紹硬件編程設(shè)計與應(yīng)用的同時,深化了基于系統(tǒng)軟件層次架構(gòu)下的應(yīng)用,使讀者迅速入門和提高。
本書的內(nèi)容結(jié)構(gòu)
全書共20章,劃分為三大篇。各篇、章內(nèi)容安排如下:
基礎(chǔ)篇
第1章,簡述基于ARM CortexM3內(nèi)核的LPC178x/7x處理器的產(chǎn)品型號與分類、主要特點、外設(shè)配置、存儲器映射等,此外還介紹了CMSIS軟件接口標(biāo)準(zhǔn),基于CMSIS架構(gòu)的軟件設(shè)計層次,為后續(xù)學(xué)習(xí)打好基礎(chǔ)。
第2章,是開發(fā)工具入門介紹,講述了開發(fā)工具軟件環(huán)境RealView MDK、IAR EWARM、仿真器Jlink、ULINK2,以及本書配套實驗LPC1788硬件開發(fā)平臺,讀者可以對常用開發(fā)工具及硬件平臺有一入門性的了解。
入門篇
第3章,先從I/O配置與GPIO端口部分進(jìn)行原理講述,然后列舉了兩個簡單的GPIO端口應(yīng)用實例。
第4章,講述RTC內(nèi)部功能結(jié)構(gòu)以及RTC應(yīng)用實例。著重介紹RTC原理、相關(guān)寄存器與庫函數(shù)功能、通過調(diào)用I/O引腳連接管理驅(qū)動庫、RTC模塊驅(qū)動庫以及UART模塊驅(qū)動庫等,列舉了兩個簡單的RTC應(yīng)用實例。
第5章,講述定時器的特點、結(jié)構(gòu)、庫函數(shù),以及應(yīng)用實例。著重介紹定時器外設(shè)的原理、相關(guān)寄存器與庫函數(shù)功能、通過定時器外設(shè)驅(qū)動庫以及UART模塊驅(qū)動庫等實現(xiàn)的兩個定時器應(yīng)用實例。
第6章,著重講述ADC外設(shè)的基本原理、寄存器,以及庫函數(shù)功能,詳解調(diào)用其他公用模塊驅(qū)動庫實現(xiàn)兩個ADC采樣與轉(zhuǎn)換實例的編程設(shè)計。
第7章,簡述DAC外設(shè)的基本結(jié)構(gòu)、寄存器,以及庫函數(shù)功能,詳述通過綜合I/O引腳連接管理驅(qū)動庫、定時器外設(shè)驅(qū)動庫、DMA控制器驅(qū)動庫、DAC驅(qū)動庫實現(xiàn)DAC輸出的應(yīng)用。
第8章,簡述PWM外設(shè)的基本結(jié)構(gòu)、相關(guān)寄存器,以及庫函數(shù)功能等,詳解以I/O引腳連接管理驅(qū)動庫、PWM外設(shè)驅(qū)動庫為基礎(chǔ)實現(xiàn)單雙沿PWM信號的應(yīng)用。
第9章,主要介紹MCPWM外設(shè)的基本結(jié)構(gòu)、相關(guān)寄存器、庫函數(shù)以及基本應(yīng)用操作,以MCPWM外設(shè)驅(qū)動庫為基礎(chǔ)實現(xiàn)MCPWM信號的簡單輸出應(yīng)用。讀者可通過改良,快速實現(xiàn)三相直流或交流電機(jī)驅(qū)動。
第10章,主要介紹UART外設(shè)的基本結(jié)構(gòu)、寄存器、庫函數(shù)以及基本應(yīng)用操作等,詳解以UART外設(shè)驅(qū)動庫為基礎(chǔ)實現(xiàn)RS232和RS485標(biāo)準(zhǔn)數(shù)據(jù)通信的應(yīng)用。
第11章,主要介紹SSP外設(shè)相關(guān)寄存器、庫函數(shù)功能等,介紹基于SSP外設(shè)驅(qū)動庫來設(shè)計SST25VF016B存儲器的相關(guān)操作功能函數(shù)和實現(xiàn)串行存儲器的簡易操作。
第12章,主要介紹I2S外設(shè)的基本特性、寄存器和庫函數(shù)。定義I2C總線接口對數(shù)字音頻編解碼UDA1380的硬件配置,I2S總線接口實現(xiàn)對既定義音頻數(shù)據(jù)流的傳送,實現(xiàn)了一個數(shù)字音頻數(shù)據(jù)流演示傳輸?shù)膶嵗?br /> 第13章,主要介紹MCI外設(shè)的基本特性、相關(guān)寄存器和庫函數(shù)功能等。安排了基于SD卡的文件系統(tǒng)操作實例,實例軟件設(shè)計基于應(yīng)用層、中間件層、硬件底層的三層架構(gòu),對FATFS中間件層程序文件、文件系統(tǒng)的各種操作指令及存儲介質(zhì)I/O接口均作了詳細(xì)的闡述。
第14章,介紹LCD控制器的基本特性、相關(guān)寄存器,并簡單介紹一些庫函數(shù)功能,演示了LCD控制器驅(qū)動7 in(英寸)TFT液晶屏以及觸摸屏多點校準(zhǔn)的例程。
第15章,講述LPC178x微控制器以太網(wǎng)控制器接口的基本結(jié)構(gòu)與特性、寄存器及庫函數(shù)功能等,同時也介紹了以太網(wǎng)物理收發(fā)器LAN8720A的相關(guān)寄存器及配置方式,以及μIP協(xié)議棧的特點、架構(gòu)、與底層的接口、移植重點等,通過兩個應(yīng)用實例演示采用以太網(wǎng)接口的網(wǎng)絡(luò)通信,實例側(cè)重于μIP協(xié)議棧的應(yīng)用設(shè)計。
進(jìn)階篇
第16章,主要介紹嵌入式實時操作系統(tǒng)μC/OSII的內(nèi)核體系結(jié)構(gòu)和特點,并集中講述μC/OSII嵌入式系統(tǒng)的移植要點,最后給出一個簡易μC/OSII系統(tǒng)軟件編程實例。通過實例展示了如何在μC/OSII系統(tǒng)中進(jìn)行軟件設(shè)計,其軟件設(shè)計涉及的層次結(jié)構(gòu)又是怎樣的,以及μC/OSII系統(tǒng)任務(wù)的建立和啟動方式。
第17章,是一個綜合應(yīng)用實例,以第15章為設(shè)計基礎(chǔ)。首先介紹網(wǎng)絡(luò)傳輸介質(zhì)、以太網(wǎng)協(xié)議的數(shù)據(jù)幀格式、嵌入式系統(tǒng)的以太網(wǎng)協(xié)議等,緊接著詳細(xì)介紹LwIP協(xié)議棧常用的API函數(shù)以及內(nèi)存管理機(jī)制,并進(jìn)一步介紹了基于μC/OSII系統(tǒng)環(huán)境的LwIP移植過程。
第18章,詳細(xì)介紹FreeRTOS系統(tǒng)的特點、文件架構(gòu)、移植步驟與要點,并通過一個簡單的應(yīng)用實例演示了FreeRTOS系統(tǒng)的運行。
第19章,是一個綜合型應(yīng)用實例,基于第14章LCD控制器進(jìn)行軟件設(shè)計。首先講述嵌入式圖形系統(tǒng)μC/GUI的系統(tǒng)架構(gòu)、各模塊的功能實現(xiàn)函數(shù)、系統(tǒng)移植步驟等,然后通過一個圖形界面顯示實例來演示如何在μC/OSII系統(tǒng)中構(gòu)建μC/GUI圖形用戶接口及執(zhí)行觸點校準(zhǔn)動作。
第20章,詳細(xì)介紹嵌入式實時操作系統(tǒng)μC/OSIII的特點、內(nèi)核、內(nèi)核結(jié)構(gòu)以及主要功能函數(shù),并詳細(xì)闡述了μC/OSIII系統(tǒng)基于CortexM3內(nèi)核LPC1788微控制器的移植要點。
本書通過18個實例,由淺入深、點面結(jié)合,詳細(xì)深入地闡述了LPC1788應(yīng)用實例的開發(fā)與應(yīng)用。這些應(yīng)用實例典型、類型豐富、覆蓋面廣,涉及理論但更側(cè)重于實踐,代表性和指導(dǎo)性強(qiáng)。
本書特色
(1) 實例豐富、技術(shù)新潮。精選了18個應(yīng)用實例,基礎(chǔ)實例主要涉及理論講述與簡易設(shè)計,進(jìn)階應(yīng)用實例偏重實踐,綜合實踐指導(dǎo)性強(qiáng)。
(2) 全書實例以“硬件電路設(shè)計+軟件設(shè)計”相結(jié)合的形式講授,幫助讀者掌握開發(fā)精要,學(xué)懂學(xué)透。
(3) 基礎(chǔ)實例與進(jìn)階應(yīng)用實例并舉,軟件設(shè)計架構(gòu)分明、層次清晰,有利于跨開發(fā)平臺移植,兼容性強(qiáng)。
本書實例全部在配套的LPC1788開發(fā)板上調(diào)試通過。該開發(fā)板很適合教學(xué)使用,同時也是很好的通用開發(fā)板。為促進(jìn)讀者更好地學(xué)習(xí),加強(qiáng)互動,提供優(yōu)惠購買圖書配套開發(fā)板活動,有需要的讀者可以在作者的淘寶網(wǎng)店購買,也可以通過郵件聯(lián)系作者本人。
本書的代碼設(shè)計基本采用NXP公司官方公布的庫函數(shù),易于操作,使用方便。一般來說,軟件模塊化設(shè)計,主要面向大規(guī)模的用戶群體以及項目群體,這也是一種最通用的設(shè)計;庫函數(shù)的提供可作為軟件設(shè)計正規(guī)化、規(guī)范化、模塊化、系統(tǒng)化、承前繼后、迭代更新的一種很重要的實現(xiàn)手段。這類庫函數(shù)在嵌入式操作系統(tǒng)層面設(shè)計時適用性較好,可快速實現(xiàn)系統(tǒng)設(shè)計與硬件驅(qū)動層面的剝離。當(dāng)然這也對驅(qū)動庫函數(shù)的編寫提出了更大的挑戰(zhàn):必須隔離性好,操作定位精確,冗余少,編碼風(fēng)格易懂。這里也必須說明自定義的寄存器型軟件設(shè)計,它的針對性強(qiáng),面向客戶化需求,其操作時序、速度、效率較高,適合于快速應(yīng)用、中小規(guī)模及裸機(jī)系統(tǒng)的固件設(shè)計,但不一定適合研發(fā)團(tuán)隊代碼量很大的開發(fā)應(yīng)用。盡管兩種方式都有優(yōu)缺點,但有一點不容置疑,無論采用哪種方式進(jìn)行軟件設(shè)計,硬件底層的設(shè)計最終都是針對寄存器的操作,包括但不僅限于配置、定義、修改等操作,它們的實現(xiàn)最終都需要精確到每個寄存器位的設(shè)置。
致謝
本書除參考文獻(xiàn)提及的書籍與文獻(xiàn)外,部分章節(jié)的編寫參考了網(wǎng)絡(luò)傳播資源以及NXP公司提供的庫函數(shù)及演示代碼,未再一一列出這些資料的貢獻(xiàn)者,在此一并感謝。
本書由劉波文編著。這里還要特別感謝黃紅光、黃國燦、黃國銘、黃亮金、夏鐵華、羅敏、程義育、丁磊、王磊、梁海峰、梁丹、聶靜敏、毛文秀、何同芬、崔春艷、崔虎威、熊尉、孫巖、孫江波、陳秋宇、陳攀、陳明、李楠、毛青、張永明、易耀、呂帥、勞展杰、董琴、陶源、謝志強(qiáng)、湯硯俠、劉健等人參與了編寫及資料收集工作。
由于涉及內(nèi)容較多,加之知識有限,時間倉促,書中不足和錯誤之處在所難免,懇請專家和讀者批評指正。
劉波文
2014年6月12日
于深圳
基礎(chǔ)篇
第1章 LPC178x系列微控制器概述
1.1CortexM3處理器概述
1.1.1CortexM3配置選項
1.1.2LPC178x/177x系列微控制器型號與分類
1.1.3LPC178x/177x系列微控制器主要特點
1.1.4LPC178x/177x系列微控制器結(jié)構(gòu)概述
1.1.5LPC178x/177x系列微控制器存儲器映射
1.1.6片上存儲器
1.1.7片上外設(shè)及基址
1.2CMSIS軟件接口標(biāo)準(zhǔn)
1.2.1CMSIS層與軟件架構(gòu)
1.2.2CMSIS文件結(jié)構(gòu)
第2章 開發(fā)工具概述
2.1常用開發(fā)工具概覽
基礎(chǔ)篇
第1章 LPC178x系列微控制器概述
1.1CortexM3處理器概述
1.1.1CortexM3配置選項
1.1.2LPC178x/177x系列微控制器型號與分類
1.1.3LPC178x/177x系列微控制器主要特點
1.1.4LPC178x/177x系列微控制器結(jié)構(gòu)概述
1.1.5LPC178x/177x系列微控制器存儲器映射
1.1.6片上存儲器
1.1.7片上外設(shè)及基址
1.2CMSIS軟件接口標(biāo)準(zhǔn)
1.2.1CMSIS層與軟件架構(gòu)
1.2.2CMSIS文件結(jié)構(gòu)
第2章 開發(fā)工具概述
2.1常用開發(fā)工具概覽
2.1.1RealView MDK開發(fā)環(huán)境
2.1.2IAR EWARM開發(fā)環(huán)境
2.1.3JLink仿真器
2.1.4ULINK2仿真器
2.2LPC1788評估板簡述
2.2.1開發(fā)板概覽
2.2.2開發(fā)板外設(shè)接口I/O分配
2.3RealView MDK開發(fā)環(huán)境快速入門
2.3.1工程項目的建立
2.3.2工程項目的配置
2.3.3編寫演示代碼
2.3.4工程項目的編譯
2.3.5程序下載與調(diào)試
2.4IAR開發(fā)環(huán)境快速入門
2.4.1IAR工程項目的快速建立
2.4.2編譯和鏈接應(yīng)用程序
2.4.3仿真調(diào)試
入門篇
第3章 GPIO端口應(yīng)用
3.1I/O端口配置概述
3.1.1I/O端口配置描述
3.1.2I/O端口控制寄存器功能描述
3.2GPIO端口概述
3.2.1引腳描述
3.2.2GPIO寄存器描述
3.3GPIO及I/O配置常用庫函數(shù)
3.3.1GPIO端口庫函數(shù)功能詳解
3.3.2引腳連接配置庫函數(shù)功能詳解
3.4GPIO端口應(yīng)用實例
3.4.1設(shè)計目標(biāo)
3.4.2硬件電路設(shè)計
3.4.3實例軟件設(shè)計
3.5實例總結(jié)
第4章 實時時鐘應(yīng)用
4.1實時時鐘(RTC)概述
4.1.1RTC基本配置
4.1.2RTC引腳描述
4.2RTC寄存器描述
4.2.1RTC中斷
4.2.2混合寄存器組
4.2.3完整時間寄存器組
4.2.4時間計數(shù)器組
4.2.5通用寄存器組
4.2.6報警寄存器組
4.3RTC常用庫函數(shù)
4.4RTC應(yīng)用實例
4.4.1設(shè)計目標(biāo)
4.4.2硬件電路設(shè)計
4.4.3實例軟件設(shè)計
4.5實例總結(jié)
第5章 定時器應(yīng)用
5.1定時器(Timer)概述
5.1.1定時器的基本配置
5.1.2定時器的引腳描述
5.2Timer寄存器描述
5.2.1中斷寄存器
5.2.2定時器控制寄存器
5.2.3定時器/計數(shù)器
5.2.4預(yù)分頻寄存器
5.2.5預(yù)分頻計數(shù)器
5.2.6匹配控制寄存器
5.2.7匹配寄存器0~
5.2.8捕獲寄存器0~
5.2.9捕獲控制寄存器
5.2.10外部匹配寄存器
5.2.11計數(shù)控制寄存器
5.2.12DMA操作
5.3Timer常用庫函數(shù)
5.4Timer應(yīng)用實例
5.4.1設(shè)計目標(biāo)
5.4.2硬件電路設(shè)計
5.4.3實例軟件設(shè)計
5. 5實例總結(jié)
第6章 模/數(shù)轉(zhuǎn)換器應(yīng)用
6.1模/數(shù)轉(zhuǎn)換器(ADC)概述
6.1.1ADC的基本配置
6.1.2ADC的引腳描述
6.1.3ADC的操作
6.2ADC寄存器描述
6.2.1ADC控制寄存器
6.2.2ADC全局?jǐn)?shù)據(jù)寄存器
6.2.3ADC中斷使能寄存器
6.2.4ADC數(shù)據(jù)寄存器0~
6.2.5ADC狀態(tài)寄存器
6.2.6ADC調(diào)節(jié)寄存器
6.3ADC常用庫函數(shù)
6.4ADC應(yīng)用實例
6.4.1設(shè)計目標(biāo)
6.4.2硬件電路設(shè)計
6.4.3實例軟件設(shè)計
6. 5實例總結(jié)
第7章 數(shù)/模轉(zhuǎn)換器應(yīng)用
7.1數(shù)/模轉(zhuǎn)換器(DAC)概述
7.1.1DAC的基本配置
7.1.2DAC的引腳描述
7.1.3DAC的操作
7.2DAC寄存器描述
7.2.1D/A轉(zhuǎn)換器寄存器
7.2.2D/A轉(zhuǎn)換器控制寄存器
7.2.3D/A轉(zhuǎn)換器計數(shù)器值寄存器
7.3常用庫函數(shù)
7.3.1DAC驅(qū)動庫
7.3.2通用DMA控制器常用庫函數(shù)
7.4DAC應(yīng)用實例
7.4.1設(shè)計目標(biāo)
7.4.2硬件電路設(shè)計
7.4.3實例軟件設(shè)計
7. 5實例總結(jié)
第8章 脈寬調(diào)制器應(yīng)用
8.1脈寬調(diào)制器(PWM)概述
8.1.1脈寬調(diào)制器的基本配置
8.1.2脈寬調(diào)制器的引腳描述
8.1.3單沿和雙沿控制規(guī)則的采樣波形
8.2PWM寄存器描述
8.2.1PWM中斷寄存器
8.2.2PWM定時器控制寄存器
8.2.3PWM計數(shù)控制寄存器
8.2.4PWM定時器/計數(shù)器
8.2.5PWM預(yù)分頻寄存器
8.2.6PWM預(yù)分頻計數(shù)器寄存器
8.2.7PWM匹配控制寄存器
8.2.8PWM匹配寄存器
8.2.9PWM捕獲控制寄存器
8.2.10PWM捕獲寄存器
8.2.11PWM控制寄存器
8.2.12PWM鎖存使能寄存器
8.3PWM常用庫函數(shù)
8.4PWM應(yīng)用實例
8.4.1設(shè)計目標(biāo)
8.4.2硬件電路設(shè)計
8.4.3實例軟件設(shè)計
8. 5實例總結(jié)
第9章 電機(jī)控制脈寬調(diào)制器應(yīng)用
9.1電機(jī)控制脈寬調(diào)制器概述
9.1.1電機(jī)控制脈寬調(diào)制器的基本配置
9.1.2電機(jī)控制脈寬調(diào)制器的引腳描述
9.2電機(jī)控制脈寬調(diào)制器寄存器描述
9.2.1MCPWM控制寄存器
9.2.2MCPWM捕獲控制寄存器
9.2.3MCPWM中斷寄存器
9.2.4MCPWM計數(shù)控制寄存器
9.2.5MCPWM定時器/計數(shù)器0~2寄存器
9.2.6MCPWM界限0~2寄存器
9.2.7MCPWM匹配0~2寄存器
9.2.8MCPWM死區(qū)時間寄存器
9.2.9MCPWM通信格式寄存器
9.2.10MCPWM捕獲寄存器
9.3MCPWM的應(yīng)用操作
9.3.1脈寬調(diào)制
9.3.2映射寄存器和同時更新
9.3.3快速中止(ABORT)
9.3.4捕獲事件
9.3.5外部事件計數(shù)(計數(shù)器模式)
9.3.6三相直流模式
9.3.7三相交流模式
9.3.8中斷源
9.4MCPWM常用庫函數(shù)
9.5MCPWM應(yīng)用實例
9.5.1設(shè)計目標(biāo)
9.5.2硬件電路設(shè)計
9.5.3實例軟件設(shè)計
9. 6實例總結(jié)
第10章 通用異步收發(fā)器應(yīng)用
10.1通用異步收發(fā)器(UART)概述
10.1.1通用異步收發(fā)器的基本配置
10.1.2通用異步收發(fā)器的引腳描述
10.2UART寄存器描述
10.2.1UARTn接收緩沖寄存器(RBR)
10.2.2UARTn發(fā)送保持寄存器(THR)
10.2.3UARTn除數(shù)鎖存器LSB/MSB寄存器(DLL,DLM)
10.2.4UARTn中斷使能寄存器(IER)
10.2.5UARTn中斷標(biāo)識寄存器(IIR)
10.2.6UARTn FIFO控制寄存器(FCR)
10.2.7UARTn線控制寄存器(LCR)
10.2.8UARTn Modem控制寄存器(MCR)
10.2.9UARTn線狀態(tài)寄存器(LSR)
10.2.10UARTn Modem狀態(tài)寄存器(MSR)
10.2.11UARTn高速緩存寄存器(SCR)
10.2.12UARTn自動波特率控制寄存器(ACR)
10.2.13UARTn分?jǐn)?shù)分頻器寄存器(FDR)
10.2.14UARTn發(fā)送使能寄存器(TER)
10.2.15UARTn的RS485控制寄存器(RS485CTRL)
10.2.16UARTn的RS485地址匹配寄存器(RS485ADRMATCH)
10.2.17UARTn的RS485延時值寄存器(RS485DLY)
10.2.18UART4過采樣寄存器OSR
10.2.19UART4智能卡接口控制寄存器SCICTRL
10.2.20UART4同步模式控制寄存器(SYNCCTRL)
10.2.21UART4 IrDA控制寄存器
10.3UART常用庫函數(shù)
10.4UART應(yīng)用實例
10.4.1設(shè)計目標(biāo)
10.4.2硬件電路設(shè)計
10.4.3實例軟件設(shè)計
10.5實例總結(jié)
第11章 串行同步端口控制器應(yīng)用
11.1串行同步端口概述
11.1.1串行同步端口基本配置
11.1.2串行同步端口的引腳描述
11.2SSP寄存器描述
11.2.1SSPn 控制寄存器0(CR0)
11.2.2SSPn 控制寄存器1(CR1)
11.2.3SSPn數(shù)據(jù)寄存器(DR)
11.2.4SSPn狀態(tài)寄存器(SR)
11.2.5SSPn時鐘預(yù)分頻寄存器(CPSR)
11.2.6SSPn中斷使能置位/清零寄存器(IMSC)
11.2.7SSPn原始中斷狀態(tài)寄存器(RIS)
11.2.8SSPn 使能中斷狀態(tài)寄存器(MIS)
11.2.9 SSPn中斷清零寄存器(ICR)
11.2.10SSPn DMA控制寄存器(CMACR)
11.3SSP常用庫函數(shù)
11.4SSP外設(shè)應(yīng)用實例
11.4.1設(shè)計目標(biāo)
11.4.2硬件電路設(shè)計
11.4.3實例軟件設(shè)計
11. 5實例總結(jié)
第12章 I2S數(shù)字音頻接口應(yīng)用
12.1I2S總線接口概述
12.1.1I2S總線接口的基本配置
12.1.2I2S接口的引腳描述
12.2I2S寄存器描述
12.2.1數(shù)字音頻輸出寄存器(I2SDAO)
12.2.2數(shù)字音頻輸入寄存器(I2SDAI)
12.2.3發(fā)送緩沖寄存器(I2STXFFO)
12.2.4接收緩沖寄存器(I2SRXFIFO)
12.2.5狀態(tài)反饋寄存器(I2SSTATE)
12.2.6DMA配置寄存器1(I2SDMAI)
12.2.7DMA配置寄存器2(I2SDMA2)
12.2.8中斷請求控制寄存器(I2SIRQ)
12.2.9發(fā)送時鐘速率寄存器(I2STXRATE)
12.2.10接收時鐘速率寄存器(I2SRXRATE)
12.2.11發(fā)送時鐘位速率寄存器(I2STXBITRATE)
12.2.12接收時鐘位速率寄存器(I2SRXBITRATE)
12.2.13發(fā)送模式控制寄存器(I2STXMODE)
12.2.14接收模式控制寄存器(I2SRXM0DE)
12.3I2S常用庫函數(shù)
12.4I2S數(shù)字音頻接口播放器應(yīng)用實例
12.4.1設(shè)計目標(biāo)
12.4.2硬件電路設(shè)計
12.4.3實例軟件設(shè)計
12.5實例總結(jié)
第13章 SD卡接口應(yīng)用
13.1SD卡接口概述
13.1.1SD卡接口的基本配置
13.1.2SD卡接口的引腳描述
13.2SD卡接口寄存器描述
13.2.1電源控制寄存器(MCOPower)
13.2.2時鐘控制寄存器(MCIClock)
13.2.3參數(shù)寄存器(MCIArgument)
13.2.4命令寄存器(MCICommand)
13.2.5命令響應(yīng)寄存器(MCIRespCommand)
13.2.6響應(yīng)寄存器0~3(MCIResponse0~3)
13.2.7數(shù)據(jù)定時器寄存器
13.2.8數(shù)據(jù)長度寄存器(MCIDataLength)
13.2.9數(shù)據(jù)控制寄存器(MCIDataCtrl)
13.2.10數(shù)據(jù)計數(shù)器寄存器(MCIDataCnt)
13.2.11狀態(tài)寄存器(MCIStatus)
13.2.12清零寄存器(MCIClear)
13.2.13中斷屏蔽寄存器(MCIMask)
13.2.14FIFO計數(shù)器寄存器(MCIFifoCnt)
13.2.15數(shù)據(jù)FIFO寄存器(MCIFIFO)
13.3SD卡接口的常用庫函數(shù)
13.4基于SD卡接口的文件系統(tǒng)實例
13.4.1設(shè)計目標(biāo)
13.4.2硬件電路設(shè)計
13.4.3實例軟件設(shè)計
13. 5實例總結(jié)
第14章 LCD控制器與觸摸應(yīng)用
14.1LCD控制器概述
14.1.1LCD上電與掉電順序
14.1.2LCD控制器的基本配置
14.1.3LCD控制器的引腳描述
14.2LCD控制器寄存器描述
14.2.1LCD配置和計時控制寄存器(LCD_CFG)
14.2.2水平時序控制寄存器(LCD_TIMH)
14.2.3垂直時序控制寄存器(LCD_TIMV)
14.2.4時鐘與信號極性控制寄存器(LCD_POL)
14.2.5線端控制寄存器(LCD_LE)
14.2.6上面板幀基址寄存器(LCD_UPBASE)
14.2.7下面板幀基址寄存器(LCD_LPBASE)
14.2.8LCD控制寄存器(LCD_CTRL)
14.2.9中斷屏蔽寄存器(LCD_INTMSK)
14.2.10原始中斷屏蔽寄存器(LCD_INTRAW)
14.2.11中斷屏蔽狀態(tài)寄存器(LCD_INTSTAT)
14.2.12中斷清零寄存器(LCD_INTCLR)
14.2.13上面板當(dāng)前地址寄存器(LCD_UPCURR)
14.2.14下面板當(dāng)前地址寄存器(LCD_LPCURR)
14.2.15彩色調(diào)色板寄存器(LCD_PAL)
14.2.16光標(biāo)圖像寄存器(CRSR_IMG)
14.2.17光標(biāo)控制寄存器(CRSR_CTRL)
14.2.18光標(biāo)配置寄存器(CRSR_CFG)
14.2.19光標(biāo)調(diào)色板寄存器0(CRSR_PAL0)
14.2.20光標(biāo)調(diào)色板寄存器1(CRSR_PAL1)
14.2.21光標(biāo)XY位置寄存器(CRSR_XY)
14.2.22光標(biāo)剪裁位置寄存器
14.2.23光標(biāo)中斷屏蔽寄存器(CRSR_INTMSK)
14.2.24光標(biāo)中斷清零寄存器(CRSR_INTCLR)
14.2.25光標(biāo)原始中斷狀態(tài)寄存器(CRSR_INTRAW)
14.2.26光標(biāo)中斷屏蔽狀態(tài)寄存器(CRSR_INTSTAT)
14.3LCD控制器的常用庫函數(shù)
14.4LCD控制器應(yīng)用實例
14.4.1設(shè)計目標(biāo)
14.4.2硬件電路設(shè)計
14.4.3文字顯示實例軟件設(shè)計
14.4.4觸摸屏校準(zhǔn)實例軟件設(shè)計
14.5實例總結(jié)
第15章 以太網(wǎng)接口應(yīng)用
15.1以太網(wǎng)接口概述
15.1.1以太網(wǎng)模塊的內(nèi)部結(jié)構(gòu)與特性
15.1.2以太網(wǎng)數(shù)據(jù)包
15.1.3以太網(wǎng)接口的基本配置
15.1.4以太網(wǎng)接口的引腳描述
15.2以太網(wǎng)接口寄存器描述
15.2.1MAC寄存器組
15.2.2控制寄存器組
15.2.3接收過濾寄存器組
15.2.4模塊控制寄存器組
15.2.5描述符與狀態(tài)
15.3以太網(wǎng)接口的常用庫函數(shù)
15.4以太網(wǎng)接口應(yīng)用實例
15.4.1設(shè)計目標(biāo)
15.4.2硬件電路設(shè)計
15.4.3簡易網(wǎng)頁瀏覽實例軟件設(shè)計
15.4.4μIP實例軟件設(shè)計
15.5實例總結(jié)
進(jìn)階篇
第16章 嵌入式實時操作系統(tǒng)μC/OSII的移植與應(yīng)用
16.1嵌入式系統(tǒng)μC/OSII概述
16.1.1μC/OSII系統(tǒng)特點
16.1.2μC/OSII系統(tǒng)內(nèi)核
16.1.3任務(wù)管理
16.1.4時間管理
16.1.5任務(wù)之間的通信與同步
16.1.6內(nèi)存管理
16.2如何在LPC1788微處理器上移植μC/OSII系統(tǒng)
16.2.1移植μC/OSII系統(tǒng)必須滿足的條件
16.2.2初識μC/OSII嵌入式系統(tǒng)
16.2.3重提μC/OSII嵌入式系統(tǒng)移植要點
16.3應(yīng)用實例
16.3.1設(shè)計目標(biāo)
16.3.2硬件電路設(shè)計
16.3.3μC/OSII系統(tǒng)軟件設(shè)計
16.4實例總結(jié)
第17章 LwIP移植與應(yīng)用實例
17.1以太網(wǎng)概述
17.1.1以太網(wǎng)的網(wǎng)絡(luò)傳輸介質(zhì)
17.1.2以太網(wǎng)數(shù)據(jù)幀格式
17.1.3嵌入式系統(tǒng)的以太網(wǎng)協(xié)議
17.2LwIP協(xié)議棧概述
17.2.1LwIP協(xié)議棧的整體架構(gòu)和進(jìn)程模型
17.2.2LwIP協(xié)議棧的API接口
17.2.3LwIP內(nèi)存管理
17.3LwIP協(xié)議棧基于μC/OSII系統(tǒng)的移植
17.3.1LwIP協(xié)議棧的源文件結(jié)構(gòu)
17.3.2LwIP協(xié)議棧的移植
17.4應(yīng)用實例
17.4.1設(shè)計目標(biāo)
17.4.2系統(tǒng)軟件設(shè)計
17.5實例總結(jié)
第18章 嵌入式實時操作系統(tǒng)FreeRTOS應(yīng)用
18.1嵌入式系統(tǒng)FreeRTOS概述
18.1.1FreeRTOS系統(tǒng)的特點
18.1.2FreeRTOS系統(tǒng)的任務(wù)管理
18.1.3FreeRTOS系統(tǒng)的隊列管理
18.1.4FreeRTOS系統(tǒng)的信號量
18.1.5FreeRTOS系統(tǒng)的資源管理
18.1.6FreeRTOS系統(tǒng)的內(nèi)存管理
18.1.7聯(lián)合程序
18.2如何在LPC1788微控制上器移植FreeRTOS系統(tǒng)
18.2.1初識FreeRTOS嵌入式系統(tǒng)
18.2.2FreeRTOS系統(tǒng)的移植
18.2.3FreeRTOS系統(tǒng)的可配置參數(shù)項
18.3FreeRTOS應(yīng)用實例
18.4實例總結(jié)
第19章 嵌入式圖形系統(tǒng)μC/GUI的移植與應(yīng)用
19.1嵌入式圖形系統(tǒng)μC/GUI
19.1.1μC/GUI系統(tǒng)的軟件結(jié)構(gòu)
19.1.2文本顯示
19.1.3數(shù)值顯示
19.1.42D圖形庫
19.1.5字體
19.1.6顏色
19.1.7存儲設(shè)備
19.1.8視窗管理器
19.1.9窗口對象
19.1.10對話框
19.1.11抗鋸齒
19.1.12輸入設(shè)備
19.1.13時間函數(shù)
19.2μC/GUI系統(tǒng)的移植
19.2.1初識μC/GUI系統(tǒng)
19.2.2細(xì)說μC/GUI系統(tǒng)的移植
19.2.3μC/GUI系統(tǒng)的觸摸屏驅(qū)動
19.2.4μC/OSII系統(tǒng)環(huán)境下支持μC/GUI系統(tǒng)
19.3設(shè)計目標(biāo)
19.4系統(tǒng)軟件設(shè)計
19.5實例總結(jié)
第20章 嵌入式實時操作系統(tǒng)μC/OSIII的移植與應(yīng)用
20.1嵌入式系統(tǒng)μC/OSIII概述
20.1.1μC/OSIII系統(tǒng)的特點
20.1.2代碼的臨界段
20.1.3任務(wù)管理
20.1.4任務(wù)就緒表
20.1.5任務(wù)調(diào)度
20.1.6上下文切換
20.1.7時間管理
20.1.8資源管理
20.1.9信號量
20.1.10事件標(biāo)志組
20.1.11消息傳遞
20.1.12內(nèi)存管理
20.2如何在LPC1788處理器上移植μC/OSIII系統(tǒng)
20.2.1移植μC/OSIII系統(tǒng)必須滿足的條件
20.2.2初識μC/OSIII嵌入式系統(tǒng)
20.3設(shè)計目標(biāo)
20.4μC/OSIII系統(tǒng)軟件設(shè)計
20.5實例總結(jié)
參考文獻(xiàn)