單片機-C語言-定義和申明

來源:互聯網
上載者:User

標籤:select   cte   time   selected   資料   int   關鍵字   typedef   was   

以下代碼是單片機程式,51單片機,編譯器為HT-IDE3000,

簡單來說

標頭檔中只能申明,

變數在標頭檔中申明時,要加上extern 這個關鍵字用來告訴編譯器,變數在其它的檔案中定義,

enum 不是變數,是我們自己定義的資料類型,像int char 一樣,只不過是我們自己定義的,所以不用加,

 1 extern u16    g_u16TimeBaseCount;  2 extern u8    g_8count_2s; 3 extern u8    g_8count_8s; 4 extern u8    g_8count_18s; 5 extern u8    g_8count_60s; 6 extern u8    g_8count_200s; 7 extern u8    g_8count_6h; 8 extern u8   g_8count_200sw;//6hour wash 9 extern u8   g_8count_6hw;//6hour wash10 extern u8   w_6hw_start;11 extern u8   w_6hw_end;12 extern u8   g_state;13 extern u16    make_6h_count;14 extern u8   g_once;15 extern u16  s_c1;//中間變數16 extern u16  s_c2;17 extern u16  s_c3;18 extern u16  s_c4;19 20 extern u8 UARTReceive;21 extern u8 AD[6];22 extern u8 TDS[6];23 extern u8 count_AD;  24 extern u8 count_ADS;       25 extern u16 sumTDS_H,sumTDS_L,sum;26 extern u16 temer;27 28 typedef enum GPIOPin29 {30   GPIO_Pin_0    = ((u8)0x01),   /*!< Pin 0 selected */31   GPIO_Pin_1    = ((u8)0x02),   /*!< Pin 1 selected */32   GPIO_Pin_2    = ((u8)0x04),   /*!< Pin 2 selected */33   GPIO_Pin_3    = ((u8)0x08),   /*!< Pin 3 selected */34   GPIO_Pin_4    = ((u8)0x10),   /*!< Pin 4 selected */35   GPIO_Pin_5    = ((u8)0x20),   /*!< Pin 5 selected */36   GPIO_Pin_6    = ((u8)0x40),   /*!< Pin 6 selected */37   GPIO_Pin_7    = ((u8)0x80),   /*!< Pin 7 selected */38   GPIO_Pin_LNib = ((u8)0x0F),   /*!< Low nibble pins selected */39   GPIO_Pin_HNib = ((u8)0xF0),   /*!< High nibble pins selected */40   GPIO_Pin_All  = ((u8)0xFF)    /*!< All pins selected */41 }GPIO_Pin_TypeDef;

函數也在標頭檔中,也只能申明,不能加函數體

u8 UART_Receive();

變數和函數的實現也就是函數體,只能在源檔案中定義

 1 uFlg uF1,uF2,uF3,uF4; 2 u16    g_u16TimeBaseCount;  3 u8    g_8count_2s; 4 u8    g_8count_8s; 5 u8    g_8count_18s; 6 u8    g_8count_60s; 7 u8    g_8count_200s; 8 u8    g_8count_6h; 9 u8   g_8count_200sw;//6hour wash10 u8   g_8count_6hw;//6hour wash11 u8   w_6hw_start;12 u8   w_6hw_end;13 u8   g_state;14 u16    make_6h_count;15 u8   g_once;16 u16  s_c1;//中間變數17 u16  s_c2;18 u16  s_c3;19 u16  s_c4;20 u8 UARTReceive=0;21 u8 AD[6]={0,0,0,0,0,0};22 u8 TDS[6]={0,0,0,0,0,0};23 u8 count_AD=0; 24 u8 count_ADS=0; 25 u16 sumTDS_H=0,sumTDS_L=0,sum=0;26 u16 temer;27 28 //===========================資料接收=========================================//29 u8 UART_Receive()30     {31        u8 data;32        if(_rxif==1)//如果接收到資料33        {34              data=_txr_rxr;35              return data;36            }37      }

 

單片機-C語言-定義和申明

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.