使用iar,如果沒有頭文件,編譯肯定通不過,更加不用說繼續(xù)設(shè)計了,本人使用IAR進行msp430開發(fā),選擇原因是因為ccs所需內(nèi)存太大了,keil已經(jīng)無法滿足MSP430的某些功能了,對于IAR集成開發(fā)環(huán)境,我們從事一個項目開發(fā),首先就是要添加頭文件,頭文件相信大家都不陌生,使用C語言開發(fā)的時候我們見到過無數(shù)的 “#include《》”和“#include”都可以添加頭文件,說明一下:放在自己工程目錄下的頭文件要用#include “msp430g2553.h” ,系統(tǒng)目錄下的頭文件才用#include《iomsp430g2553.h》,當然你自定義的頭文件可以在系統(tǒng)頭文件庫里面的。
再次使用時新版本的IAR5.31時發(fā)現(xiàn)又不會添加頭文件了,想想當時用的時候也遇到過類似問題,最后也不知是如何解決的,在利用workspace欄添加時,倒也能添加,只是不再main分目錄下,即便包含了xxx.h文件,編譯時仍然會提示“can no find xxx.h”。
有關(guān)IAR教程并總結(jié)出兩種解決方法。
方法一:將頭文件xxx.h保存在當前工程目錄下,通常和main.c放在同一個目錄。此時,無需在workspace里面手工添加,只需要在main.c或者在對應(yīng)的xxx.c文件中“#include xxx.h”,編譯成功完成后會自動出現(xiàn)在相應(yīng)的.c文件下,以表示該.c文件調(diào)用了.h文件。
方法二:方法一中的文件排放是我們比較常見的一種文件組織方式,但是當文件較多時,.c和.h文件混在一起顯得文件數(shù)較多且亂。此時,可以右擊workspace中的Debug項,add --》 add group ,如圖所示。自己可新增如名為Resource和Head的文件夾,將.c和.h文件作一個分類。
圖1 新增Group
需要注意的是,此時如果.h和.c文件不在編譯器默認搜索路徑下,則需要在如圖2所示的C/C++ compiler 選項中添加額外的include 搜索路徑,沒行寫一個新的路徑,比如E:\Example等等。
圖2 增加額外的include搜索路徑
個人使用IAR總結(jié)的添加頭文件的技巧:
(1):將頭文件msp430g2553.h保存在當前工程目錄下,和main.c放在同一個目錄當中。這樣就無需在workspace里面進行手工添加,只需要在main.c或者在對應(yīng)的c文件中include進來即可 ,編譯成功完成后會自動出現(xiàn)在相應(yīng)的.c文件下。這個方法簡單而且也不容易出錯,因為我們在項目開發(fā)的時候,設(shè)計的文件大,很容易忽略這些細節(jié)的。這個方法可以在項目開始就解決掉問題。
(2):當我們開發(fā)的項目文件較多時,.c和.h文件混在一起顯得文件數(shù)較多且顯得很亂。我們不好迅速找到我們想要的文件,這點比較麻煩,這個時候,我們可以使用另外一個方法,就是右擊workspace中的Debug項,add --》add group ,自己可新增如名為自己定義的組文件夾,將.c和.h文件作一個分類來進行管理,這樣更加的直接明了,很適合用于大項目多文件的開發(fā)。
IAR頭文件,用戶程序通過頭文件訪問庫定義,頭文件使用#include偽指令與之相結(jié)合,為了避免浪費編譯時間,定義被劃分到許多不同的頭部定義,每一個文件覆蓋特定的函數(shù)區(qū)域,用戶可以根據(jù)使用的內(nèi)容選擇不同的頭文件。
IAR調(diào)試環(huán)境提供了MSP430單片機各系列的標準頭文件,定義了系列中包含的寄存器的物理地址,在程序中可以字節(jié)使用寄存器名或者寄存器中位的名稱,這樣就避免使用實際的物理地址,使程序設(shè)計簡介、高效。
評論
查看更多