日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
高效可移植程序的一些習(xí)慣
高效可移植程序的一些習(xí)慣
 更新時(shí)間:2008-8-17 19:42:30  點(diǎn)擊數(shù):9
【字體: 字體顏色
高效可移植程序的一些習(xí)慣

這些都是本人的一些個(gè)人習(xí)慣,也許讀者并不認(rèn)同。

首先介紹兩個(gè)大師提出的習(xí)慣,而我深感認(rèn)同的。

對(duì)于一些狀態(tài)的集合,盡可能使用enum而不是#define 來定義。

如:

enum {OFF = 0, ON = 1};

遠(yuǎn)比
#define OFF  0

#define ON  1

好。

兩種寫法編譯的效果是一樣的,但是寫程序及看程序的人員來說感覺就不一樣了。用enum定義時(shí),可以覺得OFF與ON是一個(gè)集合,有相關(guān)性(且可減少程序中#define的定義)。但用#define定義時(shí),完全可認(rèn)為OFF與ON不相干。特別是在程序中#define定義過多時(shí),查找并理解它的意思都是一個(gè)痛苦。(如:uc/os,看見它的一大堆#define都頭大,要完全明白那一堆定義都得花不少時(shí)間)

第二,程序中少用

#if

#ifdef

等條件編譯。不符合條件的程序段是不被編譯的,都不檢查語法錯(cuò)誤,當(dāng)在某些情況下打開了條件開關(guān)時(shí),也許一堆錯(cuò)誤就出現(xiàn)了。而且程序并不利于閱讀,當(dāng)讀程序時(shí)突然得去查找某東東是否#define真是痛苦。



好了,下面是我的習(xí)慣

1、I/O口輸出電平定義一下,以后萬一I/O電平驅(qū)動(dòng)取反,一改就好。

//I/O Port Stutes

enum {OFF = 0, ON = 1};
//Led Stutes
enum {LED_ON = 0, LED_OFF = 1};
eg. LED = LED _ON;    //低電平驅(qū)動(dòng)LED亮。

2、I/O口與任何的其它IC接口,I/O口都要定義,不能直接使用I/O口。(方便以后用于其它的應(yīng)用中)

如93C46:

#define CS93C46        P1_0      //片選信號(hào)

#define SK93C46        P1_1   //時(shí)鐘信號(hào)

#define DI93C46             P1_2      //數(shù)據(jù)輸入,相對(duì)93C46而言 (即93C46的數(shù)據(jù)輸入)

#define DO93C46       P1_3      //數(shù)據(jù)輸出

如字符型LCD:

#define          LCDPORT     P0          //lcd數(shù)據(jù)口

#define          RS                P1_7      //數(shù)據(jù)指令選擇。低--ins  高--data

#define          RW               P1_6      //讀寫選擇。       低--w    高--r

#define          EN                P1_5      //使能。         高到低--使能。



3、鍵盤口要定義輸入口及屏蔽字

如:
#define KEYMASK  0x0f

#define KEYPORT   P2


4、串口用中斷驅(qū)動(dòng),要帶Buf。



5、取按鍵的程序及串口的程序編2個(gè),一個(gè)為非阻塞式,一個(gè)為阻塞式(不按鍵或不收到數(shù)據(jù)不返回)。



6、晶振頻率要定義
#define FOSC   11059200ul      //頻率



7、波特律定義
  • 上一篇: DS1302讀寫一體化C51源程序 (由hotpower撰寫)
  • 下一篇: TI TLC1543 10位AD驅(qū)動(dòng)程序
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1