新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于HI-TECH C編譯器的PICC18命令行驅(qū)動

        基于HI-TECH C編譯器的PICC18命令行驅(qū)動

        作者: 時間:2012-07-23 來源:網(wǎng)絡(luò) 收藏

        (1)編譯Izqmwyz.c

        輸入“-18f458 lzqmwyz.c”,含義是使用.exe對lzqmwyz.c源文件進行編譯,單片機型號為
        18f458(即PIC18F458單片機)。這時會輸出所需要的編譯結(jié)果,生成的文件中,以hex為擴展名的lzqmwyz.hex較為重要。若源程序有語法錯誤,還會顯示出錯信息及所在的行。

        注意:在cmd.exe界面中進行操作時,所有的源文件均存放在.exe同一目錄下(PICC18.exe默認安裝目錄是c:\HTSOFT\PIC18\Bin)。在本文中,PICC18均采用此默認安裝目錄。這里lzqmwyz.c存放在c:\HTSOFT\PICl8\Bin下。

        (2)-noerrata選項

        “-noerrata”選項不使能輸出代碼的錯誤修改,而缺省時,會對的輸出代碼有所修改。有些芯片沒有正誤表,不會用對此修改。這個選項可以用編譯器來禁止任何正誤表方位。當(dāng)正誤表變化時,會安全禁止。對有些芯片(如PIC18F458等),PICC18對程序的代碼長度進行了限制(一般限制在0x4000之內(nèi),即16KB之內(nèi))。這就是同上的PICl8應(yīng)用論壇中。有些網(wǎng)友提出代碼有限制的原因。有些編程者則在程序中編寫了下面的提示程序:




        若編譯的程序代碼超出了這個范圍,將會列出出錯信息。

        圖3是對solar050408.c源文件編譯時,代碼超過了Ox4000長度時出現(xiàn)的提示信息。

        使用-noerrata選項時,solar050408.c源文件編譯就會得到正確的編譯結(jié)果,為“PICC18-18f458solar050408.c-o-zgl-noerrata”。中“-o”表示調(diào)用PICC18的優(yōu)化器,“-zg1”表示調(diào)用優(yōu)化器時采用的優(yōu)先級為1級。



        3.2 庫文件生成及應(yīng)用

        3.2.1 C源文件

        (1)包含main函數(shù)的lzqmwyzl.c源文件




        (2)包含function_X3函數(shù)的funcx3.c源文件



        3.2.2 生成庫文件

        用3.2.1中的兩個文件直接創(chuàng)建一個應(yīng)用程序,這在平時的應(yīng)用中是經(jīng)常用到的。這里介紹將funcx3.c源文件生成庫文件,再由lzqmwyz.c調(diào)用的方法,也就是自己制作庫文件進行使用。

        (1)生成obj文件

        將funcx3.c源文件存放在PICC18.exe同一目錄下,然后在cmd.exe中輸入“PICC18-18f458-C funcx3.c”。-C選項是將幾個源文件編譯成目標(biāo)文件(.obj文件)。這里是將funcx3.c的源文件編譯成funcx3.obj文件,然后就可以在c:\HTSOFT\PICl8\Bin目錄下找到funcx3.obj文件。

        (2)生成lib庫文件

        在cmd.exe中輸入“libr r fun.lib runcx3.obj”。其中r選項為替換模塊。fun.lib是由函數(shù)funcx3.c制作的庫文件的文件名,如圖4所示。



        3.2.3 庫文件應(yīng)用

        圖5是使用3.2.1的lzqmwyzl.c源文件和調(diào)用3.2.2制作的庫文件fun.1ib的工程。這時使用到的就只有l(wèi)zqmwyzl.c源文件和fun.1ib文件,而不必再應(yīng)用包含runetton_X3函數(shù)的funcx3.c源文件。



        結(jié)語

        PICC18編譯器在實踐中有許多應(yīng)用,只有了解了它,才能對C編譯器有更多、更深入的認識。限于篇幅,本文只起拋磚引玉的作用,提供一種思路供廣大編程者參考;同時,對于PICC也有相應(yīng)的參考價值。

        本文引用地址:http://www.104case.com/article/148730.htm
        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 璧山县| 毕节市| 河南省| 华宁县| 遂溪县| 鸡西市| 临沭县| 千阳县| 阿克陶县| 兖州市| 志丹县| 屏边| 礼泉县| 城固县| 柯坪县| 白朗县| 娄烦县| 朝阳区| 贺兰县| 同德县| 阿坝县| 滨州市| 偏关县| 紫云| 兴国县| 交城县| 遵义县| 洮南市| 大荔县| 界首市| 开阳县| 社会| 玉环县| 惠东县| 岳池县| 呈贡县| 视频| 高尔夫| 金塔县| 府谷县| 渭源县|