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