眾里尋他千百度,默然回首還是看不懂你的代碼!
我相信,對(duì)于初學(xué)單片機(jī)編程或其他語(yǔ)言編程的朋友來(lái)說(shuō),剛開(kāi)始我們編程時(shí)總喜歡把所有的代碼都寫(xiě)在一個(gè)文件中。
(當(dāng)然如果你是絕世天才那就另當(dāng)別論了,哈哈)。其實(shí)我也如此,剛開(kāi)始我就想,將所有的代碼都寫(xiě)在一個(gè)文件中那該多
方便,打開(kāi)一個(gè)文件都可以看清。當(dāng)然,起初我們很容易看明白,因?yàn)槟阄叶贾?,咱?xiě)的代碼只有那寥寥幾行,倒著背都
能背下來(lái)。但當(dāng)后來(lái)我們寫(xiě)的代碼越來(lái)越多時(shí),我們往往苦于閱讀自己的代碼。
因此,我們可以將一個(gè)程序?qū)懺诙鄠€(gè)文件中(即以.c為后綴的文件中)。這時(shí)聰明的你就會(huì)問(wèn)了,那么我寫(xiě)了了這么多文
件,最后只通過(guò)一個(gè)按鈕編譯,生成HEX這個(gè)家伙,那么各文件又是怎樣聯(lián)系一起的呢?(啊,說(shuō)了這么多,終于說(shuō)到點(diǎn)子
上了,ZC一下,看來(lái)我的語(yǔ)言表達(dá)能力的確得練練)這就是頭文件存在的價(jià)值呀!
好了,說(shuō)重點(diǎn)。那么頭文件中都改裝些什么呢?簡(jiǎn)單來(lái)說(shuō)就是 預(yù)處理+引腳定義+函數(shù)名。再多的漢字也表達(dá)不了我的意
思,還是代碼說(shuō)話(huà)吧。/****下面是一個(gè)關(guān)于GPS模塊的程序頭文件,文件名:GPS.h****/#ifndef _GPS_H_ #define _GPS_H_ //_GPS_H_與文件名一致,只是改為大寫(xiě) #define uint unsigned int #define uchar unsigned char typedef struct{ //你知道結(jié)構(gòu)體是干啥的嗎?裝幾個(gè)變量int month;int year;int data;int hour;int minute;int second; //這幾個(gè)變量用來(lái)"裝"GPS接收到的時(shí)間}dataTime; ..... //后面仍是一個(gè)結(jié)構(gòu)體,類(lèi)似,所以我想偷一下懶用。。。代替 /******下面是一系列函數(shù)名,再GPS.C中編寫(xiě)函數(shù)*******/ void gpsInit(void); //GPS初始化程序,gpsInit為函數(shù)名我比較喜歡用匈牙利/駝峰命名法,強(qiáng) 烈推薦 int gpsRmcParse(char *line, gpsInfo *gps); //RMC為接收到的數(shù)據(jù)頭 int gpsGgaParse(char *line, gpsInfo *gps); int gpsGsvParse(char *line, gpsInfo *gps); void integerToString(int x, char *str); //整型轉(zhuǎn)字符串 #endif //程序結(jié)束
上面就是這個(gè)頭文件,我們可以就看到它的格式就是這樣的#ifndef ......#define............#endif
如果使用的什么模塊要接到I/O口,就在頭文件中寫(xiě)
#include
現(xiàn)在,頭文件寫(xiě)完了,那么接下來(lái)的工作就簡(jiǎn)單多了,將你的頭文件加載到所要使用該頭文件中內(nèi)容的C文件中。
-
51單片機(jī)
+關(guān)注
關(guān)注
275文章
5706瀏覽量
124968 -
頭文件
+關(guān)注
關(guān)注
0文章
25瀏覽量
9944
原文標(biāo)題:51單片機(jī)的頭文件究竟該如何寫(xiě)?
文章出處:【微信號(hào):wujianying_danpianji,微信公眾號(hào):?jiǎn)纹瑱C(jī)精講吳鑒鷹】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
萬(wàn)事開(kāi)頭難,開(kāi)關(guān)電源設(shè)計(jì)就應(yīng)該這樣一步一步來(lái)

求高人指點(diǎn)
從0開(kāi)始學(xué)習(xí)51單片機(jī)第一集
循跡智能車(chē)的制作--我如何進(jìn)入單片機(jī)的世界的
單片機(jī)無(wú)線(xiàn)通信模塊開(kāi)發(fā)與應(yīng)用
51基礎(chǔ)怎么入門(mén)pic
【HarmonyOS HiSpark Wi-Fi IoT 套件試用連載】萬(wàn)事開(kāi)頭難,先點(diǎn)個(gè)LED燈
學(xué)習(xí)單片機(jī)的心得體會(huì)(轉(zhuǎn)載)精選資料推薦
如何學(xué)習(xí)單片機(jī)
怎樣使用固件庫(kù)來(lái)進(jìn)行點(diǎn)燈呢
51單片機(jī)編程的頭文件reg51.h詳解

51單片機(jī)的頭文件reg51h詳細(xì)資料講解

STM32白話(huà)文教程(一)固件庫(kù)點(diǎn)燈

評(píng)論