C語(yǔ)言模塊化編程

C語(yǔ)言模塊化編程

ID:41033183

大小:251.00 KB

頁(yè)數(shù):14頁(yè)

時(shí)間:2019-08-14

C語(yǔ)言模塊化編程_第1頁(yè)
C語(yǔ)言模塊化編程_第2頁(yè)
C語(yǔ)言模塊化編程_第3頁(yè)
C語(yǔ)言模塊化編程_第4頁(yè)
C語(yǔ)言模塊化編程_第5頁(yè)
資源描述:

《C語(yǔ)言模塊化編程》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。

1、嵌入式C語(yǔ)言之---模塊化編程當(dāng)你在一個(gè)項(xiàng)目小組做一個(gè)相對(duì)較復(fù)雜的工程時(shí),意味著你不再獨(dú)自單干。你需要和你的小組成員分工合作,一起完成項(xiàng)目,這就要求小組成員各自負(fù)責(zé)一部分工程。比如你可能只是負(fù)責(zé)通訊或者顯示這一塊。這個(gè)時(shí)候,你就應(yīng)該將自己的這一塊程序?qū)懗梢粋€(gè)模塊,單獨(dú)調(diào)試,留出接口供其它模塊調(diào)用。最后,小組成員都將自己負(fù)責(zé)的模塊寫完并調(diào)試無(wú)誤后,由項(xiàng)目組長(zhǎng)進(jìn)行組合調(diào)試。像這些場(chǎng)合就要求程序必須模塊化。模塊化的好處是很多的,不僅僅是便于分工,它還有助于程序的調(diào)試,有利于程序結(jié)構(gòu)的劃分,還能增加程序的可讀性和可移植性。初學(xué)者往往搞不懂如何模塊化

2、編程,其實(shí)它是簡(jiǎn)單易學(xué),而且又是組織良好程序結(jié)構(gòu)行之有效的方法之一.本文將先大概講一下模塊化的方法和注意事項(xiàng),最后將以初學(xué)者使用最廣的keilc編譯器為例,給出模塊化編程的詳細(xì)步驟。模塊化程序設(shè)計(jì)應(yīng)該理解以下概述:(1)模塊即是一個(gè).c文件和一個(gè).h文件的結(jié)合,頭文件(.h)中是對(duì)于該模塊接口的聲明;這一條概括了模塊化的實(shí)現(xiàn)方法和實(shí)質(zhì):將一個(gè)功能模塊的代碼單獨(dú)編寫成一個(gè).c文件,然后把該模塊的接口函數(shù)放在.h文件中.舉例:假如你用到液晶顯示,那么你可能會(huì)寫一個(gè)液晶驅(qū)動(dòng)模塊,以實(shí)現(xiàn)字符、漢字和圖像的現(xiàn)實(shí),命名為:led_device.c,該模

3、塊的.c文件大體可以寫成:/**************************************************************************液晶驅(qū)動(dòng)模塊**文件:lcd_device.c*編寫人:小瓶蓋*描述:液晶串行顯示驅(qū)動(dòng)模塊,提供字符、漢字、和圖像的實(shí)現(xiàn)接口*編寫時(shí)間:2009.07.03*版本:1.2*************************************************************************/#include……//定義變量unsignedch

4、arflag;//局部變量staticunsignedcharvalue;//全局變量…//定義函數(shù)//這是本模塊第一個(gè)函數(shù),起到延時(shí)作用,只供本模塊的函數(shù)調(diào)用,所以用到static關(guān)鍵字修飾/********************延時(shí)子程序************************/staticvoiddelay(uintus)//delaytime{}//這是本模塊的第二個(gè)函數(shù),要在其他模塊中調(diào)用/*********************寫字符程序****************************功能:向LCD寫入字符*

5、*參數(shù):dat_comm為1寫入的是數(shù)據(jù),為0寫入的是指令content為寫入的數(shù)字或指令******************************************************/voidwr_lcd(uchardat_comm,ucharcontent){}…………/*****************************ENDFiles***********************************/注:此處只寫出這兩個(gè)函數(shù),第一個(gè)延時(shí)函數(shù)的作用范圍是模塊內(nèi),第二個(gè),它是其它模塊需要的。為了簡(jiǎn)化,此處并沒有寫

6、出函數(shù)體..h文件中給出模塊的接口.在上面的例子中,向LCD寫入字符函數(shù):wr_lcd(uchardat_comm,ucharcontent)就是一個(gè)接口函數(shù),因?yàn)槠渌K會(huì)調(diào)用它,那么.h文件中就必須將這個(gè)函數(shù)聲明為外部函數(shù)(使用extrun關(guān)鍵字修飾),另一個(gè)延時(shí)函數(shù):voiddelay(uintus)只是在本模塊中使用(本地函數(shù),用static關(guān)鍵字修飾),因此它是不需要放到.h文件中的。.h文件格式如下:/****************************************************************

7、**************液晶驅(qū)動(dòng)模塊頭文件**文件:lcd_device.h*編寫人:小瓶蓋*編寫時(shí)間:2010.07.03*版本:1.0*********************************************************************************///聲明全局變量externunsignedcharvalue;//聲明接口函數(shù)externvoidwr_lcd(uchardat_comm,ucharcontent);//向LCD寫入字符……/**********************

8、*******ENDFiles***********************************/這里注意三點(diǎn):1.在keil編譯器中,extern這個(gè)關(guān)鍵字即使不聲明,編譯

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。