



下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、嵌入式C編程規(guī)范vl.1.11綜述嵌入式工程源文件包括C語言文件(.c、.h)和匯編語言文件,本規(guī)范適用于C語言部分。本規(guī)范中,使用 3層設(shè)計(jì),應(yīng)用層(Application Layer )、邏輯層(Logic Layer )和驅(qū) 動(dòng)層(Driver Layer )。每層由1個(gè)或多個(gè)模塊組成,1個(gè)模塊對應(yīng)1個(gè)C文件。驅(qū)動(dòng)層實(shí)現(xiàn)底層硬件訪問,如控制蜂鳴器響、停;邏輯層根據(jù)應(yīng)用層的需要,調(diào)用驅(qū)動(dòng)層接口,使硬件具有特定的功能,如控制蜂鳴器響5次,每1秒響1次,1次響50毫秒;應(yīng)用層調(diào)用邏輯層/驅(qū)動(dòng)層接口,實(shí)現(xiàn)設(shè)備業(yè)務(wù)流程,如煙火檢測器檢測到濃煙,拉響 警報(bào)。2分層命名Fpn固pLJn 幀©
2、由.甲臥. 詢H-C £1 Oapp為應(yīng)用層,logic為邏輯上圖是一個(gè)參考結(jié)構(gòu),目錄樹反應(yīng)了程序?qū)哟谓Y(jié)構(gòu)。其中 層,driver為驅(qū)動(dòng)層,main.c為程序入口。根據(jù)功能,代碼要放在相應(yīng)的文件夾下。3文件/模塊1源文件、頭文件頭部進(jìn)行注釋,列出:版權(quán)說明、版本號、生成日期、作者、模塊目的/功能、主要函數(shù)及其功能、修改日志,示例如下:/1作者:Pan.wang/版本:v1.0/<summary>/Descriptio n/</summary>/1<history>/<para>編號日期擔(dān)當(dāng)者更新內(nèi)容 </para>/<
3、para> 00012009/06/03Pan.wang編寫此模塊</para>/1</history>/=說明:Description項(xiàng)描述本文件的內(nèi)容、功能、內(nèi)部各部分之間的關(guān)系及本文件與 其它文件關(guān)系等。History是修改歷史記錄列表,每條修改記錄應(yīng)包括修改日期、修改者及 修改內(nèi)容簡述。2文件命名:反應(yīng)模塊功能,全用小寫,單詞之間用一相接,示例如下:stage_wait.c、stageun.c、key.c、key.h ”4函數(shù)規(guī)范1函數(shù)頭部應(yīng)進(jìn)行注釋,列出:函數(shù)目的/功能、輸入、輸出參數(shù)、返回值,示例如下:/ |<summary>/函數(shù)功能說明
4、/ </summary>/ vparam name="sender" type="in">參量說明 </param>/ vparam name="e" type="out">參量說明 </param>/ <return>/ 返回結(jié)果說明/ |</return>void spri ntf(char* pcBufI n, char* pcBufOut)/Code說明:in、out表示輸入輸出參數(shù)。2函數(shù)命名:全部小寫,單詞之間用相接,示例如下:un
5、 sig ned short get_key_code();void sci_se nd_data( un sig ned char* pBuf, un sig ned int nLen);3接口命名:以一開始,后面接所在層名,字母全部小寫,單詞之間用一相接,示例如下:層名縮寫為:_app、gc、_drv_drv_get_key_code();5變量命名變量命名必須具有一定的實(shí)際意義。根據(jù)作用域,變量可分為全局變量、局部變量、函數(shù)內(nèi)變量。函數(shù)內(nèi)變量的格式為:xAbcFgh,x由變量類型確定,Abc、Fgh表示連續(xù)意義字符串, 如果連續(xù)意義字符串僅兩個(gè),可都大寫,如0K,此規(guī)則也使用于參數(shù)命名;
6、局部變量的格式為:m_xAbcFgh,女口 static bool m_bRunning;全局變量的格式為:g_xAbcFgh,女口 unsigned int g_nStage,建議在 global.h文件中定義;x表示的變量類型如下表所示:編號標(biāo)記類型1cchar2ucun sig ned char3nint4unun sig ned int5sshort6p指針/數(shù)組7llong8ffloat9ddouble10tstruct11ounion12k函數(shù)指針13eenum枚舉類型示例如下:int n Temp;un sig ned char ucResult;un sig ned char*
7、 pucArg;同時(shí),p/u可以和各種類型靈活組合,女口: ul表示unsigned long , uf表示unsigned float等;6結(jié)構(gòu)體結(jié)構(gòu)體類型定義以下劃線開始,全部大寫字母,結(jié)構(gòu)體變量命名同一般變量,示例如下:/結(jié)構(gòu)體定義typedef struct char pPages10;un sig ned int un Page In dex;SETTING;_SETTING g_tSett in g; / 結(jié)構(gòu)體變量7常量/宏定義常量和宏定義必須全部以大寫字母來撰寫,中間可根據(jù)意義的連續(xù)性用下劃線連接,每一條定義的右側(cè)加上注釋,說明其作用;8注釋/編碼風(fēng)格1注釋1)變量定義、分支定
8、義建議加上注釋;2)當(dāng)行注釋使用,塊注釋使用/*/;3) 注釋可以與語句在同一行,也可以在上行,每行不超過80字符(代碼也一樣);2編碼風(fēng)格1) 、函數(shù)參數(shù)、縮進(jìn)示例如下:分為函數(shù)聲明和函數(shù)內(nèi)部使用兩種情況,void function _a(i nt nA, in(nB)while (nA =bB) if (nA = nB) /Code /while end注:(1)函數(shù)fun ction_a( intn A, i nt nB ) 中3個(gè)紅色標(biāo)記的空格:如 function_a(1,2););x “()”和其中的內(nèi)容以空格分隔(調(diào)用函數(shù)不用空格分隔,x參數(shù)之間的“,”,之后有空格;(2) wh
9、ile、if語句的細(xì)節(jié):x紅色標(biāo)記的空格;x函數(shù)的“ ”占單獨(dú)1行,while/if語句之后的“ ”不換行;x函數(shù)/while/if以Tab鍵縮進(jìn),如上綠色標(biāo)記;x對比較長的分支塊,“”之后加上結(jié)束標(biāo)注,如上: /while end2)逗號、分號只在后面加空格:int a, b, c;3)比較操作符,賦值操作符"="、"+=",算術(shù)操作符"+"、"",邏輯操作符"&&"、">=", 位域操作符"<<"、”人"等雙目操作符的前后加空格。if|(curre nt_time >= MAx_TIME_VALUE) a卜 b + c;a *= 2;4) &q
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC 60335-2-118:2025 RLV EN Household and similar electrical appliances - Safety - Part 2-118: Particular requirements for professional ice-cream makers
- 2025年養(yǎng)老服務(wù)與社會(huì)保障基礎(chǔ)知識考試題目及答案
- 2025年心理健康教育與輔導(dǎo)考試試題及答案
- 2025年成人教育與培訓(xùn)職業(yè)資格考試試題及答案
- 2025年城市規(guī)劃與設(shè)計(jì)專業(yè)考試題目及答案
- 2025年公共英語三級考試題及答案
- (三模)青島市2025年高三年級第三次適應(yīng)性檢測語文試卷(含標(biāo)準(zhǔn)答案)
- 采購合同免責(zé)協(xié)議書范本
- 2025年煤及礦產(chǎn)品批發(fā)服務(wù)項(xiàng)目發(fā)展計(jì)劃
- 2025年中、高檔黑白超聲診斷儀項(xiàng)目建議書
- 2024年河南省機(jī)關(guān)單位工勤技能人員培訓(xùn)考核高級工技師《職業(yè)道德》題庫
- DBJ15 31-2016建筑地基基礎(chǔ)設(shè)計(jì)規(guī)范(廣東省標(biāo)準(zhǔn))
- 壓力容器制造質(zhì)量保證手冊+程序文件+表格-符合TSG 07-2019特種設(shè)備質(zhì)量保證管理體系
- 山東省濟(jì)南市歷城區(qū)2023-2024學(xué)年七年級下學(xué)期期末語文試題(解析版)
- DL∕T 1864-2018 獨(dú)立型微電網(wǎng)監(jiān)控系統(tǒng)技術(shù)規(guī)范
- 2024年湖南省中考道德與法治試題卷(含答案解析)
- 極坐標(biāo)法課件講解
- 蘇州2024年江蘇蘇州張家港市事業(yè)單位招聘筆試筆試歷年典型考題及考點(diǎn)附答案解析
- 八年級語文下冊(部編版) 第四單元 經(jīng)典演講-單元主題閱讀訓(xùn)練(含解析)
- 2024新高考英語1卷試題及答案(含聽力原文)
- (高清版)JTGT 3654-2022 公路裝配式混凝土橋梁施工技術(shù)規(guī)范
評論
0/150
提交評論