1. KEIL C51澶氭枃浠剁紪璇
棣栧厛涓誨嚱鏁板彧鑳藉瓨鍦ㄤ簬涓涓鏂囦歡涓錛岃繖涓鏂囦歡鍙浠ョ洿鎺ュ彇鍚峬ian.c榪欐牱姣旇緝鏂逛究綆$悊銆傜劧鍚庢寜鍔熻兘鍒嗗叾瀹冩枃浠訛紝鍒嗗埆緙栧啓XX.h鍜孹X.c鏂囦歡錛屽湪XX.h涓鍐欏叆鍑芥暟鐨勫0鏄庡拰鍏ㄥ矓鍙橀噺鐨勫畾涔夛紝鍦╔X.c涓鍐欏嚱鏁扮殑鍏蜂綋鍐呭癸紝騫朵笖鍦╔X.c涓瑕乮nclude鈥淴X.h鈥濓紝鍦╩ian.c涓璱nclude鎵鏈夌殑.h鏂囦歡銆傝繖鏍峰氨鍙浠ユe父緙栬瘧鍜岀儳鍐欎簡銆傛渶緇堢敓鎴愮殑榪樻槸涓涓猦ex鏂囦歡
2. keil中一個工程的多個c格式文件之間的關系
現在網上介紹的也是流行的方法是在工程中把全部的C文件都加進來,然後在需要調用其它子函數時再定義一個外部命令,用extern來定義。但是這種方法很麻煩的,關系也不容易搞清楚。其實有一個簡便的方法,確實就是用include把其它的子函數都加進來就行了,在主程序的前面用多條include把其它的子函數都加進來,而在工程中只載入主程序main()。在主程序中調用子函數時就可以了。各子函數還可以互相調用,但要注意用include載入的順序。被調用的要在前面。但要注意,在其它的子函數中就不能再重復用include加同一個頭文件,只要在主程序中加一次就行,否則編譯時會出錯的。用include是包含文件的,並非只能包含頭文件。
3. keil中怎麼在一個工程下使用兩個C文件
LZ問題問得不詳細,回答沒法詳細。
在KEIL中使用2個 C文件,是非常簡單的。比如有一個main.c文件,和一個LCD.c文件,main.c你是如何添加到KEIL 工程中的,LCD.c就用同樣的辦法添加到 KEIL 工程中就行了。
難點不是使用2個C文件,而是在一個C文件中,如何使用另一個C文件的函數、變數等。
多個 C文件的設計,一般稱之為 模塊化設計,一個C文件就為一個設備(模塊)的功能函數(如LCD.c為液晶屏的功能函數)。這種設計的程序結構階級性是非常明顯的,如main.c 可以使用LCD.c的函數,而LCD.c 不可以使用main.c的函數,這就像一個上司可以命令下屬幹活,而一個下屬不能安排上司做事。這C語言中,這叫函數歸屬關系,上級叫 父函數、下級叫 子函數。基於這種歸屬關系,所以,在多個C文件中,只需要在父級函數內,對子函數進行 外部函數聲明(extern xxxxx();),就可以正常使用 子文件中的函數了。
但模塊化設計就是為了方便功能程序(一般主文件 我稱之為 功能程序)的編寫。如果每一個模塊都需要 main.c 在開頭寫一堆的 extern,不僅會導致主文件的程序界面混亂不堪,模塊一多,還容易出錯,增加主文件工作量。於是要求,每一個模塊文件,都必須帶有自己的聲明文件(就是對應的頭文件,如LCD.h)。主文件只需要包含這個模塊的頭文件,就能正常調用 子文件中的功能函數了,這樣才能減少功能文件的程序編寫工作,不僅可以減少出錯率,還能提供程序可讀性。只需查看功能文件內包含的頭文件,就能知道這程序有什麼功能模塊了。
4. keil生成的文件怎麼那麼多,分別是什麼,比如.opt .bak .plg
.plg:編譯器編譯結果.hex和.bin:可執行文件.map和.lst:鏈接文件.o:目標文件.crf、.lnp、.d和.axf:調試文件.opt:保存工程配置信息.bak:工程備份文件