本書(shū)以ARM Cortex M3內(nèi)核LPC1788微控制器為講述對(duì)象,分成基礎(chǔ)篇、入門(mén)篇、進(jìn)階篇,覆蓋了LPC1788微控制器基本外設(shè)應(yīng)用、嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS II、μC/OS III、FreeRTOS、TCP/IP協(xié)議棧LwIP、μIP,以及嵌入式圖形系統(tǒng)μC/GUI的應(yīng)用,軟件與硬件兼顧,涉及理論但更偏重于實(shí)踐。
全書(shū)共分為20章,所講述的18個(gè)實(shí)例涵蓋了最常用的外設(shè)以及典型的應(yīng)用,實(shí)例設(shè)計(jì)中軟件架構(gòu)清晰,層次分明,跨平臺(tái)可移植性強(qiáng)。
本書(shū)可作為高等院校計(jì)算機(jī)、電子信息工程、自動(dòng)控制等專(zhuān)業(yè)本科生、研究生的嵌入式系統(tǒng)教材,也可供從事ARM和嵌入式軟件開(kāi)發(fā)的科研人員、從業(yè)人員和高等院校師生使用。
ARM CortexM3是一種基于ARM7v架構(gòu)的最新ARM內(nèi)核,NXP公司的LPC178x/7x系列微控制器以性能強(qiáng)大的ARM CortexM3 版本r2p0為內(nèi)核, 面向通信、工業(yè)、醫(yī)療、消費(fèi)家電、汽車(chē)等領(lǐng)域,用于處理要求高集成度和低功耗嵌入式應(yīng)用的32位RISC處理器。
目前,市面上有關(guān)LPC1788系列微控制器的圖書(shū)為數(shù)不多,一般分為兩種類(lèi)型:一類(lèi)基于μC/OSIII講述嵌入式實(shí)時(shí)操作系統(tǒng)及外設(shè)應(yīng)用,另一類(lèi)則多針對(duì)各種外設(shè)接口介紹編程設(shè)計(jì)。很少有能夠綜合硬件與嵌入式系統(tǒng)軟件設(shè)計(jì),集各類(lèi)綜合應(yīng)用于一體的。本書(shū)基于LPC178x/7x系列微控制器,既涉及基礎(chǔ)理論,又涉及嵌入式系統(tǒng)軟件設(shè)計(jì),整體側(cè)重于實(shí)踐。內(nèi)容分為基礎(chǔ)篇、入門(mén)篇和進(jìn)階篇:基礎(chǔ)篇主要介紹LPC1788微控制器分類(lèi)與結(jié)構(gòu)特點(diǎn),RealView MDK、IAR EWARM的開(kāi)發(fā)環(huán)境及其開(kāi)發(fā)板;入門(mén)篇主要基于LPC1788微控制器的常用外設(shè)進(jìn)行應(yīng)用設(shè)計(jì);重點(diǎn)為進(jìn)階篇,覆蓋了嵌入式實(shí)時(shí)操作系統(tǒng)μC/OSII、μC/OSIII、FreeRTOS、TCP/IP協(xié)議棧LwIP、μIP,以及嵌入式圖形系統(tǒng)μC/GUI,在介紹硬件編程設(shè)計(jì)與應(yīng)用的同時(shí),深化了基于系統(tǒng)軟件層次架構(gòu)下的應(yīng)用,使讀者迅速入門(mén)和提高。
本書(shū)的內(nèi)容結(jié)構(gòu)
全書(shū)共20章,劃分為三大篇。各篇、章內(nèi)容安排如下:
基礎(chǔ)篇 ARM CortexM3是一種基于ARM7v架構(gòu)的最新ARM內(nèi)核,NXP公司的LPC178x/7x系列微控制器以性能強(qiáng)大的ARM CortexM3 版本r2p0為內(nèi)核, 面向通信、工業(yè)、醫(yī)療、消費(fèi)家電、汽車(chē)等領(lǐng)域,用于處理要求高集成度和低功耗嵌入式應(yīng)用的32位RISC處理器。
目前,市面上有關(guān)LPC1788系列微控制器的圖書(shū)為數(shù)不多,一般分為兩種類(lèi)型:一類(lèi)基于μC/OSIII講述嵌入式實(shí)時(shí)操作系統(tǒng)及外設(shè)應(yīng)用,另一類(lèi)則多針對(duì)各種外設(shè)接口介紹編程設(shè)計(jì)。很少有能夠綜合硬件與嵌入式系統(tǒng)軟件設(shè)計(jì),集各類(lèi)綜合應(yīng)用于一體的。本書(shū)基于LPC178x/7x系列微控制器,既涉及基礎(chǔ)理論,又涉及嵌入式系統(tǒng)軟件設(shè)計(jì),整體側(cè)重于實(shí)踐。內(nèi)容分為基礎(chǔ)篇、入門(mén)篇和進(jìn)階篇:基礎(chǔ)篇主要介紹LPC1788微控制器分類(lèi)與結(jié)構(gòu)特點(diǎn),RealView MDK、IAR EWARM的開(kāi)發(fā)環(huán)境及其開(kāi)發(fā)板;入門(mén)篇主要基于LPC1788微控制器的常用外設(shè)進(jìn)行應(yīng)用設(shè)計(jì);重點(diǎn)為進(jìn)階篇,覆蓋了嵌入式實(shí)時(shí)操作系統(tǒng)μC/OSII、μC/OSIII、FreeRTOS、TCP/IP協(xié)議棧LwIP、μIP,以及嵌入式圖形系統(tǒng)μC/GUI,在介紹硬件編程設(shè)計(jì)與應(yīng)用的同時(shí),深化了基于系統(tǒng)軟件層次架構(gòu)下的應(yīng)用,使讀者迅速入門(mén)和提高。
本書(shū)的內(nèi)容結(jié)構(gòu)
全書(shū)共20章,劃分為三大篇。各篇、章內(nèi)容安排如下:
基礎(chǔ)篇
第1章,簡(jiǎn)述基于ARM CortexM3內(nèi)核的LPC178x/7x處理器的產(chǎn)品型號(hào)與分類(lèi)、主要特點(diǎn)、外設(shè)配置、存儲(chǔ)器映射等,此外還介紹了CMSIS軟件接口標(biāo)準(zhǔn),基于CMSIS架構(gòu)的軟件設(shè)計(jì)層次,為后續(xù)學(xué)習(xí)打好基礎(chǔ)。
第2章,是開(kāi)發(fā)工具入門(mén)介紹,講述了開(kāi)發(fā)工具軟件環(huán)境RealView MDK、IAR EWARM、仿真器Jlink、ULINK2,以及本書(shū)配套實(shí)驗(yàn)LPC1788硬件開(kāi)發(fā)平臺(tái),讀者可以對(duì)常用開(kāi)發(fā)工具及硬件平臺(tái)有一入門(mén)性的了解。
入門(mén)篇
第3章,先從I/O配置與GPIO端口部分進(jìn)行原理講述,然后列舉了兩個(gè)簡(jiǎn)單的GPIO端口應(yīng)用實(shí)例。
第4章,講述RTC內(nèi)部功能結(jié)構(gòu)以及RTC應(yīng)用實(shí)例。著重介紹RTC原理、相關(guān)寄存器與庫(kù)函數(shù)功能、通過(guò)調(diào)用I/O引腳連接管理驅(qū)動(dòng)庫(kù)、RTC模塊驅(qū)動(dòng)庫(kù)以及UART模塊驅(qū)動(dòng)庫(kù)等,列舉了兩個(gè)簡(jiǎn)單的RTC應(yīng)用實(shí)例。
第5章,講述定時(shí)器的特點(diǎn)、結(jié)構(gòu)、庫(kù)函數(shù),以及應(yīng)用實(shí)例。著重介紹定時(shí)器外設(shè)的原理、相關(guān)寄存器與庫(kù)函數(shù)功能、通過(guò)定時(shí)器外設(shè)驅(qū)動(dòng)庫(kù)以及UART模塊驅(qū)動(dòng)庫(kù)等實(shí)現(xiàn)的兩個(gè)定時(shí)器應(yīng)用實(shí)例。
第6章,著重講述ADC外設(shè)的基本原理、寄存器,以及庫(kù)函數(shù)功能,詳解調(diào)用其他公用模塊驅(qū)動(dòng)庫(kù)實(shí)現(xiàn)兩個(gè)ADC采樣與轉(zhuǎn)換實(shí)例的編程設(shè)計(jì)。
第7章,簡(jiǎn)述DAC外設(shè)的基本結(jié)構(gòu)、寄存器,以及庫(kù)函數(shù)功能,詳述通過(guò)綜合I/O引腳連接管理驅(qū)動(dòng)庫(kù)、定時(shí)器外設(shè)驅(qū)動(dòng)庫(kù)、DMA控制器驅(qū)動(dòng)庫(kù)、DAC驅(qū)動(dòng)庫(kù)實(shí)現(xiàn)DAC輸出的應(yīng)用。
第8章,簡(jiǎn)述PWM外設(shè)的基本結(jié)構(gòu)、相關(guān)寄存器,以及庫(kù)函數(shù)功能等,詳解以I/O引腳連接管理驅(qū)動(dòng)庫(kù)、PWM外設(shè)驅(qū)動(dòng)庫(kù)為基礎(chǔ)實(shí)現(xiàn)單雙沿PWM信號(hào)的應(yīng)用。
第9章,主要介紹MCPWM外設(shè)的基本結(jié)構(gòu)、相關(guān)寄存器、庫(kù)函數(shù)以及基本應(yīng)用操作,以MCPWM外設(shè)驅(qū)動(dòng)庫(kù)為基礎(chǔ)實(shí)現(xiàn)MCPWM信號(hào)的簡(jiǎn)單輸出應(yīng)用。讀者可通過(guò)改良,快速實(shí)現(xiàn)三相直流或交流電機(jī)驅(qū)動(dòng)。
第10章,主要介紹UART外設(shè)的基本結(jié)構(gòu)、寄存器、庫(kù)函數(shù)以及基本應(yīng)用操作等,詳解以UART外設(shè)驅(qū)動(dòng)庫(kù)為基礎(chǔ)實(shí)現(xiàn)RS232和RS485標(biāo)準(zhǔn)數(shù)據(jù)通信的應(yīng)用。
第11章,主要介紹SSP外設(shè)相關(guān)寄存器、庫(kù)函數(shù)功能等,介紹基于SSP外設(shè)驅(qū)動(dòng)庫(kù)來(lái)設(shè)計(jì)SST25VF016B存儲(chǔ)器的相關(guān)操作功能函數(shù)和實(shí)現(xiàn)串行存儲(chǔ)器的簡(jiǎn)易操作。
第12章,主要介紹I2S外設(shè)的基本特性、寄存器和庫(kù)函數(shù)。定義I2C總線接口對(duì)數(shù)字音頻編解碼UDA1380的硬件配置,I2S總線接口實(shí)現(xiàn)對(duì)既定義音頻數(shù)據(jù)流的傳送,實(shí)現(xiàn)了一個(gè)數(shù)字音頻數(shù)據(jù)流演示傳輸?shù)膶?shí)例。
第13章,主要介紹MCI外設(shè)的基本特性、相關(guān)寄存器和庫(kù)函數(shù)功能等。安排了基于SD卡的文件系統(tǒng)操作實(shí)例,實(shí)例軟件設(shè)計(jì)基于應(yīng)用層、中間件層、硬件底層的三層架構(gòu),對(duì)FATFS中間件層程序文件、文件系統(tǒng)的各種操作指令及存儲(chǔ)介質(zhì)I/O接口均作了詳細(xì)的闡述。
第14章,介紹LCD控制器的基本特性、相關(guān)寄存器,并簡(jiǎn)單介紹一些庫(kù)函數(shù)功能,演示了LCD控制器驅(qū)動(dòng)7 in(英寸)TFT液晶屏以及觸摸屏多點(diǎn)校準(zhǔn)的例程。
第15章,講述LPC178x微控制器以太網(wǎng)控制器接口的基本結(jié)構(gòu)與特性、寄存器及庫(kù)函數(shù)功能等,同時(shí)也介紹了以太網(wǎng)物理收發(fā)器LAN8720A的相關(guān)寄存器及配置方式,以及μIP協(xié)議棧的特點(diǎn)、架構(gòu)、與底層的接口、移植重點(diǎn)等,通過(guò)兩個(gè)應(yīng)用實(shí)例演示采用以太網(wǎng)接口的網(wǎng)絡(luò)通信,實(shí)例側(cè)重于μIP協(xié)議棧的應(yīng)用設(shè)計(jì)。
進(jìn)階篇
第16章,主要介紹嵌入式實(shí)時(shí)操作系統(tǒng)μC/OSII的內(nèi)核體系結(jié)構(gòu)和特點(diǎn),并集中講述μC/OSII嵌入式系統(tǒng)的移植要點(diǎn),最后給出一個(gè)簡(jiǎn)易μC/OSII系統(tǒng)軟件編程實(shí)例。通過(guò)實(shí)例展示了如何在μC/OSII系統(tǒng)中進(jìn)行軟件設(shè)計(jì),其軟件設(shè)計(jì)涉及的層次結(jié)構(gòu)又是怎樣的,以及μC/OSII系統(tǒng)任務(wù)的建立和啟動(dòng)方式。
第17章,是一個(gè)綜合應(yīng)用實(shí)例,以第15章為設(shè)計(jì)基礎(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移植過(guò)程。
第18章,詳細(xì)介紹FreeRTOS系統(tǒng)的特點(diǎn)、文件架構(gòu)、移植步驟與要點(diǎn),并通過(guò)一個(gè)簡(jiǎn)單的應(yīng)用實(shí)例演示了FreeRTOS系統(tǒng)的運(yùn)行。
第19章,是一個(gè)綜合型應(yīng)用實(shí)例,基于第14章LCD控制器進(jìn)行軟件設(shè)計(jì)。首先講述嵌入式圖形系統(tǒng)μC/GUI的系統(tǒng)架構(gòu)、各模塊的功能實(shí)現(xiàn)函數(shù)、系統(tǒng)移植步驟等,然后通過(guò)一個(gè)圖形界面顯示實(shí)例來(lái)演示如何在μC/OSII系統(tǒng)中構(gòu)建μC/GUI圖形用戶(hù)接口及執(zhí)行觸點(diǎn)校準(zhǔn)動(dòng)作。
第20章,詳細(xì)介紹嵌入式實(shí)時(shí)操作系統(tǒng)μC/OSIII的特點(diǎn)、內(nèi)核、內(nèi)核結(jié)構(gòu)以及主要功能函數(shù),并詳細(xì)闡述了μC/OSIII系統(tǒng)基于CortexM3內(nèi)核LPC1788微控制器的移植要點(diǎn)。
本書(shū)通過(guò)18個(gè)實(shí)例,由淺入深、點(diǎn)面結(jié)合,詳細(xì)深入地闡述了LPC1788應(yīng)用實(shí)例的開(kāi)發(fā)與應(yīng)用。這些應(yīng)用實(shí)例典型、類(lèi)型豐富、覆蓋面廣,涉及理論但更側(cè)重于實(shí)踐,代表性和指導(dǎo)性強(qiáng)。
本書(shū)特色
(1) 實(shí)例豐富、技術(shù)新潮。精選了18個(gè)應(yīng)用實(shí)例,基礎(chǔ)實(shí)例主要涉及理論講述與簡(jiǎn)易設(shè)計(jì),進(jìn)階應(yīng)用實(shí)例偏重實(shí)踐,綜合實(shí)踐指導(dǎo)性強(qiáng)。
(2) 全書(shū)實(shí)例以“硬件電路設(shè)計(jì)+軟件設(shè)計(jì)”相結(jié)合的形式講授,幫助讀者掌握開(kāi)發(fā)精要,學(xué)懂學(xué)透。
(3) 基礎(chǔ)實(shí)例與進(jìn)階應(yīng)用實(shí)例并舉,軟件設(shè)計(jì)架構(gòu)分明、層次清晰,有利于跨開(kāi)發(fā)平臺(tái)移植,兼容性強(qiáng)。
本書(shū)實(shí)例全部在配套的LPC1788開(kāi)發(fā)板上調(diào)試通過(guò)。該開(kāi)發(fā)板很適合教學(xué)使用,同時(shí)也是很好的通用開(kāi)發(fā)板。為促進(jìn)讀者更好地學(xué)習(xí),加強(qiáng)互動(dòng),提供優(yōu)惠購(gòu)買(mǎi)圖書(shū)配套開(kāi)發(fā)板活動(dòng),有需要的讀者可以在作者的淘寶網(wǎng)店購(gòu)買(mǎi),也可以通過(guò)郵件聯(lián)系作者本人。
本書(shū)的代碼設(shè)計(jì)基本采用NXP公司官方公布的庫(kù)函數(shù),易于操作,使用方便。一般來(lái)說(shuō),軟件模塊化設(shè)計(jì),主要面向大規(guī)模的用戶(hù)群體以及項(xiàng)目群體,這也是一種最通用的設(shè)計(jì);庫(kù)函數(shù)的提供可作為軟件設(shè)計(jì)正規(guī)化、規(guī)范化、模塊化、系統(tǒng)化、承前繼后、迭代更新的一種很重要的實(shí)現(xiàn)手段。這類(lèi)庫(kù)函數(shù)在嵌入式操作系統(tǒng)層面設(shè)計(jì)時(shí)適用性較好,可快速實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)與硬件驅(qū)動(dòng)層面的剝離。當(dāng)然這也對(duì)驅(qū)動(dòng)庫(kù)函數(shù)的編寫(xiě)提出了更大的挑戰(zhàn):必須隔離性好,操作定位精確,冗余少,編碼風(fēng)格易懂。這里也必須說(shuō)明自定義的寄存器型軟件設(shè)計(jì),它的針對(duì)性強(qiáng),面向客戶(hù)化需求,其操作時(shí)序、速度、效率較高,適合于快速應(yīng)用、中小規(guī)模及裸機(jī)系統(tǒng)的固件設(shè)計(jì),但不一定適合研發(fā)團(tuán)隊(duì)代碼量很大的開(kāi)發(fā)應(yīng)用。盡管兩種方式都有優(yōu)缺點(diǎn),但有一點(diǎn)不容置疑,無(wú)論采用哪種方式進(jìn)行軟件設(shè)計(jì),硬件底層的設(shè)計(jì)最終都是針對(duì)寄存器的操作,包括但不僅限于配置、定義、修改等操作,它們的實(shí)現(xiàn)最終都需要精確到每個(gè)寄存器位的設(shè)置。
致謝
本書(shū)除參考文獻(xiàn)提及的書(shū)籍與文獻(xiàn)外,部分章節(jié)的編寫(xiě)參考了網(wǎng)絡(luò)傳播資源以及NXP公司提供的庫(kù)函數(shù)及演示代碼,未再一一列出這些資料的貢獻(xiàn)者,在此一并感謝。
本書(shū)由劉波文編著。這里還要特別感謝黃紅光、黃國(guó)燦、黃國(guó)銘、黃亮金、夏鐵華、羅敏、程義育、丁磊、王磊、梁海峰、梁丹、聶靜敏、毛文秀、何同芬、崔春艷、崔虎威、熊尉、孫巖、孫江波、陳秋宇、陳攀、陳明、李楠、毛青、張永明、易耀、呂帥、勞展杰、董琴、陶源、謝志強(qiáng)、湯硯俠、劉健等人參與了編寫(xiě)及資料收集工作。
由于涉及內(nèi)容較多,加之知識(shí)有限,時(shí)間倉(cāng)促,書(shū)中不足和錯(cuò)誤之處在所難免,懇請(qǐng)專(zhuān)家和讀者批評(píng)指正。
劉波文
2014年6月12日
于深圳
基礎(chǔ)篇
第1章 LPC178x系列微控制器概述
1.1CortexM3處理器概述
1.1.1CortexM3配置選項(xiàng)
1.1.2LPC178x/177x系列微控制器型號(hào)與分類(lèi)
1.1.3LPC178x/177x系列微控制器主要特點(diǎn)
1.1.4LPC178x/177x系列微控制器結(jié)構(gòu)概述
1.1.5LPC178x/177x系列微控制器存儲(chǔ)器映射
1.1.6片上存儲(chǔ)器
1.1.7片上外設(shè)及基址
1.2CMSIS軟件接口標(biāo)準(zhǔn)
1.2.1CMSIS層與軟件架構(gòu)
1.2.2CMSIS文件結(jié)構(gòu)
第2章 開(kāi)發(fā)工具概述
2.1常用開(kāi)發(fā)工具概覽
基礎(chǔ)篇
第1章 LPC178x系列微控制器概述
1.1CortexM3處理器概述
1.1.1CortexM3配置選項(xiàng)
1.1.2LPC178x/177x系列微控制器型號(hào)與分類(lèi)
1.1.3LPC178x/177x系列微控制器主要特點(diǎn)
1.1.4LPC178x/177x系列微控制器結(jié)構(gòu)概述
1.1.5LPC178x/177x系列微控制器存儲(chǔ)器映射
1.1.6片上存儲(chǔ)器
1.1.7片上外設(shè)及基址
1.2CMSIS軟件接口標(biāo)準(zhǔn)
1.2.1CMSIS層與軟件架構(gòu)
1.2.2CMSIS文件結(jié)構(gòu)
第2章 開(kāi)發(fā)工具概述
2.1常用開(kāi)發(fā)工具概覽
2.1.1RealView MDK開(kāi)發(fā)環(huán)境
2.1.2IAR EWARM開(kāi)發(fā)環(huán)境
2.1.3JLink仿真器
2.1.4ULINK2仿真器
2.2LPC1788評(píng)估板簡(jiǎn)述
2.2.1開(kāi)發(fā)板概覽
2.2.2開(kāi)發(fā)板外設(shè)接口I/O分配
2.3RealView MDK開(kāi)發(fā)環(huán)境快速入門(mén)
2.3.1工程項(xiàng)目的建立
2.3.2工程項(xiàng)目的配置
2.3.3編寫(xiě)演示代碼
2.3.4工程項(xiàng)目的編譯
2.3.5程序下載與調(diào)試
2.4IAR開(kāi)發(fā)環(huán)境快速入門(mén)
2.4.1IAR工程項(xiàng)目的快速建立
2.4.2編譯和鏈接應(yīng)用程序
2.4.3仿真調(diào)試
入門(mén)篇
第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配置常用庫(kù)函數(shù)
3.3.1GPIO端口庫(kù)函數(shù)功能詳解
3.3.2引腳連接配置庫(kù)函數(shù)功能詳解
3.4GPIO端口應(yīng)用實(shí)例
3.4.1設(shè)計(jì)目標(biāo)
3.4.2硬件電路設(shè)計(jì)
3.4.3實(shí)例軟件設(shè)計(jì)
3.5實(shí)例總結(jié)
第4章 實(shí)時(shí)時(shí)鐘應(yīng)用
4.1實(shí)時(shí)時(shí)鐘(RTC)概述
4.1.1RTC基本配置
4.1.2RTC引腳描述
4.2RTC寄存器描述
4.2.1RTC中斷
4.2.2混合寄存器組
4.2.3完整時(shí)間寄存器組
4.2.4時(shí)間計(jì)數(shù)器組
4.2.5通用寄存器組
4.2.6報(bào)警寄存器組
4.3RTC常用庫(kù)函數(shù)
4.4RTC應(yīng)用實(shí)例
4.4.1設(shè)計(jì)目標(biāo)
4.4.2硬件電路設(shè)計(jì)
4.4.3實(shí)例軟件設(shè)計(jì)
4.5實(shí)例總結(jié)
第5章 定時(shí)器應(yīng)用
5.1定時(shí)器(Timer)概述
5.1.1定時(shí)器的基本配置
5.1.2定時(shí)器的引腳描述
5.2Timer寄存器描述
5.2.1中斷寄存器
5.2.2定時(shí)器控制寄存器
5.2.3定時(shí)器/計(jì)數(shù)器
5.2.4預(yù)分頻寄存器
5.2.5預(yù)分頻計(jì)數(shù)器
5.2.6匹配控制寄存器
5.2.7匹配寄存器0~
5.2.8捕獲寄存器0~
5.2.9捕獲控制寄存器
5.2.10外部匹配寄存器
5.2.11計(jì)數(shù)控制寄存器
5.2.12DMA操作
5.3Timer常用庫(kù)函數(shù)
5.4Timer應(yīng)用實(shí)例
5.4.1設(shè)計(jì)目標(biāo)
5.4.2硬件電路設(shè)計(jì)
5.4.3實(shí)例軟件設(shè)計(jì)
5. 5實(shí)例總結(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常用庫(kù)函數(shù)
6.4ADC應(yīng)用實(shí)例
6.4.1設(shè)計(jì)目標(biāo)
6.4.2硬件電路設(shè)計(jì)
6.4.3實(shí)例軟件設(shè)計(jì)
6. 5實(shí)例總結(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)換器計(jì)數(shù)器值寄存器
7.3常用庫(kù)函數(shù)
7.3.1DAC驅(qū)動(dòng)庫(kù)
7.3.2通用DMA控制器常用庫(kù)函數(shù)
7.4DAC應(yīng)用實(shí)例
7.4.1設(shè)計(jì)目標(biāo)
7.4.2硬件電路設(shè)計(jì)
7.4.3實(shí)例軟件設(shè)計(jì)
7. 5實(shí)例總結(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定時(shí)器控制寄存器
8.2.3PWM計(jì)數(shù)控制寄存器
8.2.4PWM定時(shí)器/計(jì)數(shù)器
8.2.5PWM預(yù)分頻寄存器
8.2.6PWM預(yù)分頻計(jì)數(shù)器寄存器
8.2.7PWM匹配控制寄存器
8.2.8PWM匹配寄存器
8.2.9PWM捕獲控制寄存器
8.2.10PWM捕獲寄存器
8.2.11PWM控制寄存器
8.2.12PWM鎖存使能寄存器
8.3PWM常用庫(kù)函數(shù)
8.4PWM應(yīng)用實(shí)例
8.4.1設(shè)計(jì)目標(biāo)
8.4.2硬件電路設(shè)計(jì)
8.4.3實(shí)例軟件設(shè)計(jì)
8. 5實(shí)例總結(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計(jì)數(shù)控制寄存器
9.2.5MCPWM定時(shí)器/計(jì)數(shù)器0~2寄存器
9.2.6MCPWM界限0~2寄存器
9.2.7MCPWM匹配0~2寄存器
9.2.8MCPWM死區(qū)時(shí)間寄存器
9.2.9MCPWM通信格式寄存器
9.2.10MCPWM捕獲寄存器
9.3MCPWM的應(yīng)用操作
9.3.1脈寬調(diào)制
9.3.2映射寄存器和同時(shí)更新
9.3.3快速中止(ABORT)
9.3.4捕獲事件
9.3.5外部事件計(jì)數(shù)(計(jì)數(shù)器模式)
9.3.6三相直流模式
9.3.7三相交流模式
9.3.8中斷源
9.4MCPWM常用庫(kù)函數(shù)
9.5MCPWM應(yīng)用實(shí)例
9.5.1設(shè)計(jì)目標(biāo)
9.5.2硬件電路設(shè)計(jì)
9.5.3實(shí)例軟件設(shè)計(jì)
9. 6實(shí)例總結(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)識(shí)寄存器(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自動(dòng)波特率控制寄存器(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延時(shí)值寄存器(RS485DLY)
10.2.18UART4過(guò)采樣寄存器OSR
10.2.19UART4智能卡接口控制寄存器SCICTRL
10.2.20UART4同步模式控制寄存器(SYNCCTRL)
10.2.21UART4 IrDA控制寄存器
10.3UART常用庫(kù)函數(shù)
10.4UART應(yīng)用實(shí)例
10.4.1設(shè)計(jì)目標(biāo)
10.4.2硬件電路設(shè)計(jì)
10.4.3實(shí)例軟件設(shè)計(jì)
10.5實(shí)例總結(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時(shí)鐘預(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常用庫(kù)函數(shù)
11.4SSP外設(shè)應(yīng)用實(shí)例
11.4.1設(shè)計(jì)目標(biāo)
11.4.2硬件電路設(shè)計(jì)
11.4.3實(shí)例軟件設(shè)計(jì)
11. 5實(shí)例總結(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中斷請(qǐng)求控制寄存器(I2SIRQ)
12.2.9發(fā)送時(shí)鐘速率寄存器(I2STXRATE)
12.2.10接收時(shí)鐘速率寄存器(I2SRXRATE)
12.2.11發(fā)送時(shí)鐘位速率寄存器(I2STXBITRATE)
12.2.12接收時(shí)鐘位速率寄存器(I2SRXBITRATE)
12.2.13發(fā)送模式控制寄存器(I2STXMODE)
12.2.14接收模式控制寄存器(I2SRXM0DE)
12.3I2S常用庫(kù)函數(shù)
12.4I2S數(shù)字音頻接口播放器應(yīng)用實(shí)例
12.4.1設(shè)計(jì)目標(biāo)
12.4.2硬件電路設(shè)計(jì)
12.4.3實(shí)例軟件設(shè)計(jì)
12.5實(shí)例總結(jié)
第13章 SD卡接口應(yīng)用
13.1SD卡接口概述
13.1.1SD卡接口的基本配置
13.1.2SD卡接口的引腳描述
13.2SD卡接口寄存器描述
13.2.1電源控制寄存器(MCOPower)
13.2.2時(shí)鐘控制寄存器(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ù)定時(shí)器寄存器
13.2.8數(shù)據(jù)長(zhǎng)度寄存器(MCIDataLength)
13.2.9數(shù)據(jù)控制寄存器(MCIDataCtrl)
13.2.10數(shù)據(jù)計(jì)數(shù)器寄存器(MCIDataCnt)
13.2.11狀態(tài)寄存器(MCIStatus)
13.2.12清零寄存器(MCIClear)
13.2.13中斷屏蔽寄存器(MCIMask)
13.2.14FIFO計(jì)數(shù)器寄存器(MCIFifoCnt)
13.2.15數(shù)據(jù)FIFO寄存器(MCIFIFO)
13.3SD卡接口的常用庫(kù)函數(shù)
13.4基于SD卡接口的文件系統(tǒng)實(shí)例
13.4.1設(shè)計(jì)目標(biāo)
13.4.2硬件電路設(shè)計(jì)
13.4.3實(shí)例軟件設(shè)計(jì)
13. 5實(shí)例總結(jié)
第14章 LCD控制器與觸摸應(yīng)用
14.1LCD控制器概述
14.1.1LCD上電與掉電順序
14.1.2LCD控制器的基本配置
14.1.3LCD控制器的引腳描述
14.2LCD控制器寄存器描述
14.2.1LCD配置和計(jì)時(shí)控制寄存器(LCD_CFG)
14.2.2水平時(shí)序控制寄存器(LCD_TIMH)
14.2.3垂直時(shí)序控制寄存器(LCD_TIMV)
14.2.4時(shí)鐘與信號(hào)極性控制寄存器(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控制器的常用庫(kù)函數(shù)
14.4LCD控制器應(yīng)用實(shí)例
14.4.1設(shè)計(jì)目標(biāo)
14.4.2硬件電路設(shè)計(jì)
14.4.3文字顯示實(shí)例軟件設(shè)計(jì)
14.4.4觸摸屏校準(zhǔn)實(shí)例軟件設(shè)計(jì)
14.5實(shí)例總結(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接收過(guò)濾寄存器組
15.2.4模塊控制寄存器組
15.2.5描述符與狀態(tài)
15.3以太網(wǎng)接口的常用庫(kù)函數(shù)
15.4以太網(wǎng)接口應(yīng)用實(shí)例
15.4.1設(shè)計(jì)目標(biāo)
15.4.2硬件電路設(shè)計(jì)
15.4.3簡(jiǎn)易網(wǎng)頁(yè)瀏覽實(shí)例軟件設(shè)計(jì)
15.4.4μIP實(shí)例軟件設(shè)計(jì)
15.5實(shí)例總結(jié)
進(jìn)階篇
第16章 嵌入式實(shí)時(shí)操作系統(tǒng)μC/OSII的移植與應(yīng)用
16.1嵌入式系統(tǒng)μC/OSII概述
16.1.1μC/OSII系統(tǒng)特點(diǎn)
16.1.2μC/OSII系統(tǒng)內(nèi)核
16.1.3任務(wù)管理
16.1.4時(shí)間管理
16.1.5任務(wù)之間的通信與同步
16.1.6內(nèi)存管理
16.2如何在LPC1788微處理器上移植μC/OSII系統(tǒng)
16.2.1移植μC/OSII系統(tǒng)必須滿(mǎn)足的條件
16.2.2初識(shí)μC/OSII嵌入式系統(tǒng)
16.2.3重提μC/OSII嵌入式系統(tǒng)移植要點(diǎn)
16.3應(yīng)用實(shí)例
16.3.1設(shè)計(jì)目標(biāo)
16.3.2硬件電路設(shè)計(jì)
16.3.3μC/OSII系統(tǒng)軟件設(shè)計(jì)
16.4實(shí)例總結(jié)
第17章 LwIP移植與應(yīng)用實(shí)例
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é)議;讦藽/OSII系統(tǒng)的移植
17.3.1LwIP協(xié)議棧的源文件結(jié)構(gòu)
17.3.2LwIP協(xié)議棧的移植
17.4應(yīng)用實(shí)例
17.4.1設(shè)計(jì)目標(biāo)
17.4.2系統(tǒng)軟件設(shè)計(jì)
17.5實(shí)例總結(jié)
第18章 嵌入式實(shí)時(shí)操作系統(tǒng)FreeRTOS應(yīng)用
18.1嵌入式系統(tǒng)FreeRTOS概述
18.1.1FreeRTOS系統(tǒng)的特點(diǎn)
18.1.2FreeRTOS系統(tǒng)的任務(wù)管理
18.1.3FreeRTOS系統(tǒng)的隊(duì)列管理
18.1.4FreeRTOS系統(tǒng)的信號(hào)量
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初識(shí)FreeRTOS嵌入式系統(tǒng)
18.2.2FreeRTOS系統(tǒng)的移植
18.2.3FreeRTOS系統(tǒng)的可配置參數(shù)項(xiàng)
18.3FreeRTOS應(yīng)用實(shí)例
18.4實(shí)例總結(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圖形庫(kù)
19.1.5字體
19.1.6顏色
19.1.7存儲(chǔ)設(shè)備
19.1.8視窗管理器
19.1.9窗口對(duì)象
19.1.10對(duì)話框
19.1.11抗鋸齒
19.1.12輸入設(shè)備
19.1.13時(shí)間函數(shù)
19.2μC/GUI系統(tǒng)的移植
19.2.1初識(shí)μC/GUI系統(tǒng)
19.2.2細(xì)說(shuō)μC/GUI系統(tǒng)的移植
19.2.3μC/GUI系統(tǒng)的觸摸屏驅(qū)動(dòng)
19.2.4μC/OSII系統(tǒng)環(huán)境下支持μC/GUI系統(tǒng)
19.3設(shè)計(jì)目標(biāo)
19.4系統(tǒng)軟件設(shè)計(jì)
19.5實(shí)例總結(jié)
第20章 嵌入式實(shí)時(shí)操作系統(tǒng)μC/OSIII的移植與應(yīng)用
20.1嵌入式系統(tǒng)μC/OSIII概述
20.1.1μC/OSIII系統(tǒng)的特點(diǎn)
20.1.2代碼的臨界段
20.1.3任務(wù)管理
20.1.4任務(wù)就緒表
20.1.5任務(wù)調(diào)度
20.1.6上下文切換
20.1.7時(shí)間管理
20.1.8資源管理
20.1.9信號(hào)量
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)必須滿(mǎn)足的條件
20.2.2初識(shí)μC/OSIII嵌入式系統(tǒng)
20.3設(shè)計(jì)目標(biāo)
20.4μC/OSIII系統(tǒng)軟件設(shè)計(jì)
20.5實(shí)例總結(jié)
參考文獻(xiàn)