版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第五講文件的定義和引用一、文件的命名和引用目CONTENT錄二、規范的H文件與C文件三、自定義文件數碼管顯示四、代碼仿真測試1.文件的命名和引用文件的命名為“文件名+后綴”,名稱必須按照windows的規定命名,可以由字母、數字、合法特殊字符組成,后綴必須用“.”間隔,后綴名沒有特殊規定,一般用可以表示文件類型的字母簡寫。例如:“main.h”,其中main為文件名稱,h為后綴。因為h是單詞head的首字母,寫h是象征這是一個頭文件。但C語言并沒有規定后綴名必須是H,可以是任意的后綴,比如寫成“main.w”、“main.y”等等都可以。文件屬于windows管理對象,所以文件名不區分大小寫:例如“main.h”與“MAIN.H”、“main.H”、“MAIN.h”都表示同一個文件,沒有區別。為了防止出錯,MDK工程下的C語言執行文件指定用“.c”作為后綴,不可以隨意更改。1.文件的命名和引用文件的引用遵循C語言的語法要求,必須使用關鍵字“include”引用格式為“include<文件名.后綴>”,也可以寫成include“文件名.后綴”,例如include<reg51.h>或者寫成include“reg51.h”,都可以編譯通過。引用文件后,文件中規定的變量、常量、函數都可以使用,但要注意命名的唯一性,如果文件中出現變量或函數的重名,在編譯時會報告重復定義的錯誤!1.文件的命名和引用文件不可以重名,否則會產生二義性如果想在工程中加入新文件,但又擔心會重名,則可以用條件編譯語句來操作。所謂條件編譯指令翻譯成自然語言就是:“如果工程中還沒有這個文件,那我就注冊這個文件”具體的寫法是#ifndef__文件名_后綴……………如果沒有這個文件#define__文件名_后綴…………….我就定義(注冊)這樣一個文件#endif…………………條件編譯結束.C和.H文件在MDK的工程中,常常看見.C和.H文件配對出現,例如main.c和main.h;gpio.c和gpio.h......在C語法中,并沒有規定.c和.h的寫法有何不同,但是對于一個比較復雜的頭文件而言,把所有內容都寫到一起是不科學的。在實踐中,工程師們用.h文件書寫變量,常量,函數等基礎定義用相應的.c文件書寫函數的具體執行內容2.規范的H文件與C文件.C和.H文件舉例.h.h.c2.規范的H文件與C文件2.規范的H文件與C文件結論:.h文件——定義變量、常量和函數,方便查詢.c文件——各函數的執行語句,改寫寄存器問題:為什么不把函數和函數執行語句寫在一個文件里?回答:因為頭文件的最大作用就是查詢,像目錄一樣才方便。把執行語句寫進頭文件會使得每個函數中間間隔一大段內容,不利于人們翻找。所以將執行語句放在.c文件中,與頭文件既分開,又配合。3.自定義文件的引用由電路圖可知,數碼管顯示需要用到端口:PC0~PC8,它們工作于輸出狀態現在,先來建一個叫“smg.h”和“smg.c”的文件。在smg.h中,定義一下位選和段選信號以及主要的顯示和熄滅函數在smg.c中,完成函數代碼的書寫在工程目錄下,創建一個叫smg的文件夾再創建smg.h和smg.c兩個文件3.自定義文件的引用用記事本打開白板文件smg.c,寫一句話注意,include的文件只能寫“.h”,不能寫成“_h”保存smg.c文件。由于使用了include,這樣smg.h和smg.c就有了內在聯系了。另外,本例中主函數也要使用到smg.h,也必須寫include“smg.h”所以,一個文件可以被多個文件引用,這很正常。3.自定義文件的引用最終文件書寫如下.c文件書寫的內容.h文件書寫的內容函數定義3.自定義文件的引用然后打開工程文件右鍵點擊“test1”(不要點成project),選擇“manage…”命令點擊此命令選擇文件所在的子文件夾選添加文件將smg.c文件添加到Files文件組3.自定義文件的引用3.自定義文件數碼管顯示找到smg.c文件,點“Add”按鈕添加。如圖所示選中文件點擊此處接下來還要完善KEIL里面的文件信息,否則一樣會報錯KEIL對于未知的新文件,需要開發人員手動輸入文件位置,因為KEIL不具備自動搜索功能,你要告訴它被引用的文件在哪里。對于沒有位置信息的文件,在語法檢查時會提示文件找不到出錯,如下所示3.自定義文件的引用完善KEIL的信息需要使用C/C++選項卡點這個按鈕打開C/C++選項卡點這個選項卡再點這個按鈕3.自定義文件的引用完善KEIL的信息需要使用C/C++選項卡再點這個按鈕會出現插入信息提示點這個按鈕去鎖定文件信息3.自定義文件的引用完善KEIL的信息需要使用C/C++選項卡選中文件所在文件夾點OK即可3.自定義文件的引用完善KEIL的頭文件信息欄會出現新的文件信息新添加的文件信息,已生成至此,文件的添加任務才大功告成,剩下的就是調試代碼了3.自定義文件的引用4.代碼仿真測
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東東營市墾利區2025-2026學年三年級下學期期末語文試題(文字版含答案)
- 浙江省湖州市南潯區2025-2026學年四年級上學期期末語文試題(文字版含答案)
- 2026年自來水行政搶修統籌內勤招聘考試筆試試題(含答案)
- 2026年煙草物流調度專員煙草公司招聘考試筆試試題(含答案)
- 基于VB的智能消防監控系統及界面設計畢業任務書
- 2026 年重癥腦出血患者護理個案分享
- 2026 年肝衰竭人工肝血漿置換治療護理個案
- 2026年秋季初中開學主題班會 升學指導與志愿規劃課件
- 股權轉讓協議書模板三篇
- 2026年秋季初中生物開學第一課 學科與生活聯系課件
- 2026年全國保密教育線上培訓考試試題庫及參考答案【完整版】
- 2026福建漳州閩投華陽發電有限公司招聘43人筆試參考題庫及答案詳解
- GB/T 47655-2026電力電子裝備和系統的構網性能要求及試驗方法
- GA/T 1466.1-2026智能手機型移動警務終端第1部分:技術要求
- 中信建投:未來產業投資地圖系列之“可控核聚變”
- 檢驗科生物安全培訓內容及記錄
- 2025廣東省深圳市中考歷史真題(解析版)
- 門診一站式服務流程建設方案
- 浙江省食用農產品批發市場食品安全主體責任清單與技術評審指南(2023版)
- 注冊安全工程師考試金屬冶煉(中級)安全生產專業實務復習難點詳解
- 大型賽事活動安保服務方案投標文件(技術標)
評論
0/150
提交評論