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