<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)C語(yǔ)言基礎(chǔ)知識(shí)之一

          單片機(jī)C語(yǔ)言基礎(chǔ)知識(shí)之一

          作者: 時(shí)間:2016-11-23 來(lái)源:網(wǎng)絡(luò) 收藏
          一、宏定義:
          1、不帶參數(shù):
          #define 標(biāo)識(shí)符 常量表達(dá)式
          #define是宏定義命令,宏名(標(biāo)識(shí)符)好習(xí)慣用大寫(xiě)
          #define NIL 0x80

          2、帶參數(shù):
          #define 宏名(參數(shù)表) 字符串
          不僅要時(shí)行字任串替換還要進(jìn)行參數(shù)的替換,在宏定義時(shí),宏名與帶參數(shù)的括弧之間不應(yīng)該加空格,否則將空格以后的字符串都作為替代字符串的一部分,這可是很容易出錯(cuò)的。
          如:#define SQ(a,b) a*b
          使用:x=12;y=10;area=SQ(x,y);
          結(jié)果:area=12*10=120

          二、文件包含:
          #include <文件名>或#include "文件名"
          在C51中常用物是尖括弧形式

          三、條件編譯:
          一般源程序中的所有程序行都參加編譯,但有時(shí)希望對(duì)其中一部分內(nèi)容只在滿足一定條件下才進(jìn)行編譯,也就是對(duì)一部分內(nèi)容指定編譯的條件。
          #if、#elif、 #else、#endif、#ifdef、#ifndef
          選擇不同的編譯范圍,產(chǎn)生不同的代碼,提供通用性。
          如對(duì)8051在6MHZ與12MHZ下有
          #ifdef cpu==8051
          #define FREQ 6
          #else
          #define FREQ 12
          #endif
          這樣下面的原程序不用做任何修改便可以使用于兩種時(shí)鐘頻率的單片機(jī)系統(tǒng)

          四、其他:
          1、#error:捕捉不可預(yù)料的編譯條件
          #if (myv!=0&&myv!=1)
          #error myv must be 1 or 0
          #endif

          2、#pragma:用于在程序中向編譯器傳送各種編譯控制命令
          #pragma 編譯命令序列
          例:想按如下命令編譯ex.c c51 ex.c debug cod large可用:
          #pragma DB CD LA
          #pragma disable //禁止中斷


          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();