一、附屬代碼的目錄結(jié)構(gòu)
提供的所有例程和代碼,都被集中在IAR的一個工作區(qū)(Workspace)里面,讀者把提供的ZIP文件解壓到某個目錄下(例如Workspace_IAR),就可以看到這個工作區(qū)的文件和其它一些目錄,下面是目錄截圖:
LPC800_Cookbook_IAR_Workspace.eww就是集中了本文所有例程項(xiàng)目的工作區(qū)配置文件,讀者可以雙擊這個文件啟動IAR的IDE 開發(fā)環(huán)境,或在IAR軟件中從菜單File/OpenWorkspace...打開這個文件。稍等片刻,即可看到這個工作區(qū)里集成的所有項(xiàng)目。
除了這個工作區(qū)配置文件(.eww),讀者還會看到其它幾個目錄:
打開目錄LPC824_Example_Code_Bundle_IAR_r1.0,它的目錄結(jié)構(gòu)如右圖。這里面包含了IAR的項(xiàng)目文件目錄和一些源文件目錄:
與本書各章節(jié)相關(guān)的代碼都放在圖18所示的“Projects”目錄下,每個項(xiàng)目都有一個子目錄,如右圖所示:
在IAR的IDE環(huán)境中,編譯任何一個項(xiàng)目,確切地說是Build一個項(xiàng)目時,都會在項(xiàng)目所在的目錄下按照不同的項(xiàng)目配置自動地生成一個目標(biāo)文件的目錄。例如上面截圖中看到,對應(yīng)項(xiàng)目Cookbook_NVIC_GPIO所生成的目標(biāo)文件目錄是Cookbook,而對應(yīng)項(xiàng)目LPC82x_Lib、Peripherals_lib或Utilities_lib所生成的目標(biāo)文件目錄是flash,這個目錄的名字是由當(dāng)前項(xiàng)目的配置相關(guān)。
在IAR的IDE中,點(diǎn)擊Project Edit Configurations...后,就可以編輯所需要的配置名稱,然后再點(diǎn)擊Project Options...對該配置選項(xiàng)的各項(xiàng)配置進(jìn)行選擇,例如可以選擇包含的文件、編譯優(yōu)化的級別、鏈接不同的函數(shù)庫等。這樣可以用一套源代碼,得到不同的目標(biāo)文件或可執(zhí)行文件。有興趣的讀者可以參考IAR的相應(yīng)文檔,進(jìn)一步了解其功能和使用方法。如下圖:
二、例程項(xiàng)目下的文件
有關(guān)一個例程項(xiàng)目的文件,都集中放置在一個相同的目錄下,這個目錄的名字都是以下面的形式命名:
0 Cookbook_模塊名_功能名
|
模塊名表示該例程是屬于哪個模塊,例如NVIC、SCT、GPIO等。
功能名表示該例程所要實(shí)現(xiàn)的功能,例如Cookbook_NVIC_GPIO表示用GPIO演示NVIC的例程。另一個例子是,Cookbook_SCT_QEI表示是用SCT實(shí)現(xiàn)QEI(旋轉(zhuǎn)編碼器)的例程。
以Cookbook_NVIC_GPIO為例,在每一個項(xiàng)目的目錄下基本都包含下面一些文件:
每個項(xiàng)目的主函數(shù)源文件,都是使用與項(xiàng)目名稱一樣的名字,讀者可以很容易地與其它源文件區(qū)分出來。項(xiàng)目中其它源文件的命名沒有硬性規(guī)定,命名基本是以標(biāo)示所執(zhí)行的功能為原則。
以下這幾個文件,基本是每個項(xiàng)目里都有的源文件:
■ IAR_cstartup_M.s:是一個匯編文件。
■ system_LPC8xx.c:當(dāng)CPU啟動時,會從上述匯編文件中的復(fù)位入口開始執(zhí)行指令,然后轉(zhuǎn)到這個.c文件中,對LPC800中與時鐘相關(guān)的振蕩器、PLL等部分執(zhí)行初始化。完成基本初始化后就轉(zhuǎn)到用戶自己的main()函數(shù),因此如果沒有特殊要求,尤其時需要嘗試本書中的例程時,用戶程序可以不用再考慮主時鐘部分的初始化,此時主時鐘已經(jīng)被配置為30MHz的速率,用戶程序可以直接運(yùn)行其它模塊的初始化了。
■ IAR_Redirect.c和Serial.c:當(dāng)需要使用標(biāo)準(zhǔn)輸入輸出的函數(shù),例如printf、scanf等時,項(xiàng)目里需要包含這兩個文件,它們把這些標(biāo)準(zhǔn)輸入輸出函數(shù)與UART0對接。
一般情況下,用戶不必理會與項(xiàng)目相關(guān)的四個文件(*.dep *.ewd *.ewp *.wet),如果需要了解詳細(xì)信息,請參考IAR的相關(guān)文檔。
三、例程項(xiàng)目索引
下面這張表是所有例程項(xiàng)目的索引,讀者在需要嘗試相應(yīng)例程時,可以依據(jù)此表找到對應(yīng)的項(xiàng)目代碼。
項(xiàng)目名稱
|
所在章節(jié)
|
簡要說明
|
Cookbook_NVIC_GPIO
|
3.1.5中斷優(yōu)先級和嵌套的演示例程
|
演示中斷嵌套的現(xiàn)象和效果
|
Cookbook_SWM_LEDs
|
6.3.3通過開關(guān)矩陣實(shí)現(xiàn)呼吸燈的輪轉(zhuǎn)
|
通過配置SWM改變信號的輸出引腳
|
Cookbook_SWM_USARTs
|
6.3.4兩個USART模塊對接
|
通過配置SWM實(shí)現(xiàn)2個USART在芯片內(nèi)部對接
|
Cookbook_SCT_QEI
|
7.5使用IOCON的數(shù)字濾波功能實(shí)現(xiàn)按鍵去抖動的例程
|
使用數(shù)字濾波實(shí)現(xiàn)按鍵去抖
此部分在QEI的例程中
|
Cookbook_GPIO_LEDs
|
8.3 GPIO控制器使用例程
|
演示如何直接操作GPIO
|
Cookbook_GPIO_Pmat
|
9.6.1異或的實(shí)現(xiàn)
|
使用模式匹配引擎實(shí)現(xiàn)兩個按鍵的異或操作
|
Cookbook_GPIO_Pmat-Vote
|
9.6.2三人表決器
|
使用模式匹配引擎實(shí)現(xiàn)一個三人表決器的邏輯
|
|
10.7.1 DMA執(zhí)行內(nèi)存中的數(shù)據(jù)塊拷貝
|
使用DMA搬運(yùn)內(nèi)存中的數(shù)據(jù)塊
|
Cookbook_DMA_UART
|
10.7.2 DMA執(zhí)行USART0的連續(xù)發(fā)送(硬件觸發(fā))
|
使用DMA發(fā)送數(shù)據(jù)串至UART,觸發(fā)一次將發(fā)送出所有的數(shù)據(jù)字節(jié)
|
Cookbook_DMA_UART_Burst
|
10.7.3 DMA執(zhí)行USART0的成組發(fā)送
|
使用DMA發(fā)送數(shù)據(jù)串至UART,使用乒乓鏈接的描述符連續(xù)發(fā)送多個字符串,每觸發(fā)一次將發(fā)送成組發(fā)出8個數(shù)據(jù)字節(jié),循環(huán)往復(fù)
|
Cookbook_UART_Basic
|
11.5 USART實(shí)例
|
使用中斷方式接收UART傳輸?shù)臄?shù)據(jù),再發(fā)送回去
|
Cookbook_UART_HWFlow
|
11.6帶硬件流控的UART收發(fā)例程
|
通過開發(fā)板上的按鍵和LED模擬和顯示硬件流控
|
Cookbook_UART_Autoband
|
11.7 USART在異步模式下的自動波特率匹配
|
演示自動波特率匹配的設(shè)置和使用
|
Cookbook_UART_Sync
|
11.8 USART的同步模式
|
演示如何配置同步模式,并演示如何在沒有示波器的情況下,查看輸出的波形
|
Cookbook_SPI_Master
|
12.3.1 SPI的輪詢方式操作
|
使用輪詢方式讀出SPI Flash的若干ID
例程中還包含一段簡單的中斷方式操作
|
Cookbook_SPI_Int_M25B32BV
|
12.3.3中斷方式訪問SPI Flash的完整例程
|
使用中斷方式實(shí)現(xiàn)對SPI Flash的所有基本操作,包括讀寫和擦除
|
|
13.3 I2C主機(jī)收發(fā)操作步驟——輪詢方式
|
演示主機(jī)模式下使用輪詢方式進(jìn)行I2C的收發(fā)
|
Cookbook_I2C_EEPROM_Polling
|
13.4監(jiān)測功能的使用
|
演示檢測功能的使用以及數(shù)據(jù)的解讀
|
Cookbook_I2C_EEPROM_Int
|
13.5 I2C主機(jī)收發(fā)操作步驟——中斷方式
|
使用狀態(tài)機(jī)實(shí)現(xiàn)中斷方式的I2C收發(fā)
|
Cookbook_I2C_EEPROM_Int
|
13.6 LPCOpen里如何實(shí)現(xiàn)I2C主機(jī)收發(fā)
|
使用狀態(tài)機(jī)實(shí)現(xiàn)中斷方式的I2C收發(fā),這是LPCOpen中的實(shí)現(xiàn)方法
|
Cookbook_I2C_Slave_Int
|
13.7 I2C從機(jī)收發(fā)操作步驟——中斷方式
|
使用LPC824模擬一個I2C EEPROM,演示使用中斷方式操作I2C從機(jī)
|
Cookbook_SCT_PWM2
|
14.11例程:使用SCT產(chǎn)生2路PWM輸出
|
初始化SCT,在中斷里控制輸出信號的占空比實(shí)現(xiàn)呼吸燈控制
|
Cookbook_SCT_PWM_DMA
|
14.12使用SCT+DMA自主實(shí)現(xiàn) LED呼吸燈的例程
|
采用DMA更新匹配重裝載寄存器的方式調(diào)節(jié)占空比,實(shí)現(xiàn)無中斷、無CPU干預(yù)的LED呼吸燈功能
|
Cookbook_SCT_PWM_Breath
|
14.13單獨(dú)使用SCT自主實(shí)現(xiàn) LED呼吸燈的例程
|
僅使用SCT,實(shí)現(xiàn)不需CPU和DMA干預(yù)的LED呼吸燈
|
Cookbook_SCT_QEI
|
14.16.3 SCT實(shí)現(xiàn)旋轉(zhuǎn)編碼器接口的例程
|
演示SCT讀取旋轉(zhuǎn)編碼器的數(shù)據(jù),并演示使用IOCON的數(shù)字濾波功能做毛刺濾波
|
Cookbook_WWDT
|
|
演示窗口看門狗的功能
|
Cookbook_MRT
|
16.3多速率定時器(MRT)應(yīng)用例程
|
使用兩個MRT的通道產(chǎn)生定時中斷控制LED燈的占空比,用ADC采樣電位器決定占空比
|
Cookbook_MRT_BusStall
|
16.4.1總線暫停模式產(chǎn)生PWM波例程
|
使用MRT的總線暫停模式產(chǎn)生PWM波形,演示總線暫停模式的功能和對系統(tǒng)的影響
|
Cookbook_SysTick
|
17.2.2輪詢程序?qū)崿F(xiàn)機(jī)械按鍵消抖
17.2.3中斷方式實(shí)現(xiàn)機(jī)械按鍵消抖
|
分別用輪詢和中斷方式實(shí)現(xiàn)按鍵消抖的功能
|
Cookbook_ADC
|
18.5 ADC應(yīng)用例程
|
使用按鍵觸發(fā)ADC轉(zhuǎn)換,中斷讀出ADC轉(zhuǎn)換結(jié)果,演示MODE的功效
|
Cookbook_ADC_DMA
|
18.6 ADC配合DMA的例程
|
使用DMA傳輸轉(zhuǎn)換結(jié)果
|
Cookbook_ADC_DMA_Burst
|
18.6.1 ADC配合DMA的連續(xù)轉(zhuǎn)換傳輸
|
使用DMA的成組模式傳輸轉(zhuǎn)換結(jié)果,ADC使用軟件觸發(fā)
|
END
更多恩智浦AI-IoT市場和產(chǎn)品信息,邀您同時關(guān)注“NXP客?!蔽⑿殴娞?/span>

NXP客棧
恩智浦致力于打造安全的連接和基礎(chǔ)設(shè)施解決方案,為智慧生活保駕護(hù)航。
長按二維碼,關(guān)注我們
恩智浦MCU加油站
這是由恩智浦官方運(yùn)營的公眾號,著重為您推薦恩智浦MCU的產(chǎn)品信息、開發(fā)技巧、教程文檔、培訓(xùn)課程等內(nèi)容。

長按二維碼,關(guān)注我們
原文標(biāo)題:LPC800前生今世 第四章-系列總覽指南書中的例程和項(xiàng)目文件
文章出處:【微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
mcu
+關(guān)注
關(guān)注
146文章
17981瀏覽量
366839 -
恩智浦
+關(guān)注
關(guān)注
14文章
5981瀏覽量
116725
原文標(biāo)題:LPC800前生今世 第四章-系列總覽指南書中的例程和項(xiàng)目文件
文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
初級工程師PCB設(shè)計(jì)技巧(PPT版)
電源設(shè)計(jì)中功率因數(shù)校正講解
第四章 什么是寄存器

《DNESP32S3使用指南-IDF版_V1.6》第六十四章 LVGL 綜合例程
【第四章 定時任務(wù)】手把手教你玩轉(zhuǎn)新版正點(diǎn)原子云
【「鴻蒙操作系統(tǒng)設(shè)計(jì)原理與架構(gòu)」閱讀體驗(yàn)】-前四章閱讀有感
SESIP的前生今世和未來
華為-射頻基礎(chǔ)知識培訓(xùn)
《DNESP32S3使用指南-IDF版_V1.6》第四章 認(rèn)識ESP-IDF
【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗(yàn)】+第三四章閱讀報(bào)告
【北京迅為】iTOP-i.MX6開發(fā)板使用手冊第四部分固件編譯第十四章非設(shè)備樹Android4.4系統(tǒng)編譯

評論