標(biāo)題:
關(guān)于C語(yǔ)言#define與sbit 有什么區(qū)別?求大佬解惑
[打印本頁(yè)]
作者:
linzib
時(shí)間:
2018-11-19 23:35
標(biāo)題:
關(guān)于C語(yǔ)言#define與sbit 有什么區(qū)別?求大佬解惑
#define與sbit 有什么區(qū)別?
作者:
HC6800-ES-V2.0
時(shí)間:
2018-11-20 08:03
兩者區(qū)別大了。
#define 就是通常說的宏定義,它可以將一個(gè)資源命名。我看到的有兩類應(yīng)用:
第一:將IO口換一個(gè)名字,如:#define LED P2 意思就是將P2口重新命名為L(zhǎng)ED;
第二:宏定義,將一個(gè)語(yǔ)句集合命名,例如:#define goto {ML1=1;ML2=0;MR1=1;MR2=0}
sbit特殊功能寄存器的一個(gè)位的聲明,如:sbit LED0=P2^0;
看看,完全沒有共同之處吧。
作者:
tingyuluo
時(shí)間:
2018-11-20 09:01
#define是宏定義,是一個(gè)預(yù)編譯指令。
如#define PI 3.14 在預(yù)編譯階段,會(huì)將PI替換為3.14
sbit是C51擴(kuò)展的變量類型
作者:
hanlng
時(shí)間:
2018-11-20 09:09
一個(gè)在編譯期替換,一個(gè)在運(yùn)行期生效
作者:
new_hand
時(shí)間:
2018-11-20 09:10
#define 是宏定義,c語(yǔ)言里的,可以在所有單片機(jī)里用,sbit只能在51 上用
作者:
xiaoshan7748
時(shí)間:
2018-11-20 09:31
#define是預(yù)處理宏命令:一般C或C++語(yǔ)言源程序中允許用一個(gè)標(biāo)識(shí)符來表示一個(gè)字符串,稱為“宏”。被定義為“宏”的標(biāo)識(shí)符稱為“宏名”。在編譯預(yù)處理時(shí),對(duì)程序中所有出現(xiàn)的“宏名”,都用宏定義中的字符串去代換,這稱為“宏代換”或“宏展開”。宏定義是由源程序中的宏定義命令完成的。宏代換是由預(yù)處理程序自動(dòng)完成的。
sbit是定義特殊功能寄存器的位變量
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1