標(biāo)題:
單片機小白求助關(guān)于sbit變量定義的問題
[打印本頁]
作者:
Mr,Ricardo
時間:
2018-8-21 18:05
標(biāo)題:
單片機小白求助關(guān)于sbit變量定義的問題
我有一個小問題,請各位大佬幫忙解決一下
sbit IN1=P1^0;
sbit IN2=P1^1;
sbit IN3=P1^2;
sbit IN4=P1^3;
這個定義中,IN1和IN3是相同的,我想可不可以用作一個變量
就是類似
sbit IN1=P1^0=P1^2;
這種
我知道這句語法有錯誤
sbit只能定義一個,只能一一對應(yīng)
作者:
devcang
時間:
2018-8-21 19:24
就是不可以,sbit是C51特有的
作者:
Hank丶Huang
時間:
2018-8-21 20:26
不可以的哦,需要的話多寫一條就行
作者:
cjm82
時間:
2018-8-21 21:33
可以這樣...
sbit x = P1^0;
sbit y = P1^0;
作者:
文鳳軒
時間:
2018-8-22 00:44
不可以的,只能一個變量指向一個變量名
作者:
angmall
時間:
2018-8-22 16:34
sbit是keil特有的,這個叫位定義, sbit:是定義特殊功能寄存器的位變量,不是標(biāo)準(zhǔn)C語言的關(guān)鍵字只是定義了一個位變量IN1,并賦值為P1.0,,^在這里,說明P1的第一個引腳(也就是P1.0),與一般的運算不一樣!不要混淆了!
sbit IN1=P1^0; 而P1^0則是單片機上的1號IO口管腳,以便進行位操作。
IN1和IN3是相同的,你可以用 IN1=IN3=0; 來定義
作者:
lintianda
時間:
2018-8-22 22:36
sbit INT1 = P1^0表示為Io口 P1.0,其他依次類推
作者:
lintianda
時間:
2018-8-22 22:44
對于某些8位或者16位單片機,sfr可用來定義特殊功能寄存器,sbit用來定義特殊功能寄存器中可以位尋址的位。
在寄存器頭文件中,可能會出現(xiàn)這樣的定義
sfr P1 = xx; //xx為寄存器P1的地址
sbit INT1 = P1^0; //寄存器P1的bit0,其他依次類推……
作者:
紅塵種蓮人
時間:
2018-8-23 12:09
當(dāng)然不可以的,位定義就這么寫
作者:
1984528951
時間:
2018-8-23 15:11
我覺得就是給io口起一個名字
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1