音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

還是不太懂bit與sbit的區(qū)別,比如我想這樣,該怎么處理:

作者:風... 欄目:單片機
還是不太懂bit與sbit的區(qū)別,比如我想這樣,該怎么處理:
  uchar command = 0x55;
  uchar TEMP = 0;
  bit TEMP0,TEMP1,TEMP2,TEMP3,TEMP4,TEMP5,TEMP6,TEMP7;
  
  TEMP0 = command^0;
  TEMP1 = command^1;
  TEMP2 = command^2;
  TEMP3 = command^3;
  TEMP4 = command^4;
  TEMP5 = command^5;
  TEMP6 = command^6;
  TEMP7 = command^7;  //這一段編譯沒有問題
  
  TEMP^0 = TEMP0;
  TEMP^1 = TEMP1;
  TEMP^2 = TEMP2;
  TEMP^3 = TEMP3;
  TEMP^4 = TEMP4;
  TEMP^5 = TEMP5;
  TEMP^6 = TEMP6;
  TEMP^7 = TEMP7;  //可這一段就不行了,即使我把TEMP定義到bdata也依舊

  P2 = TEMP;

如果我想達到上面的目的,是不是非得用sbit???sbit似乎是可以的吧?還沒試!
既然第一段TEMP0 = command^0;都沒問題,為什么下一段TEMP^0 = TEMP0;就有問題?
這是不是失去了C51特有的bit的存在的意義!

2樓: >>參與討論
cpld163
re
幫你頂!

3樓: >>參與討論
kingsr
^_^
打錯了

* - 本貼最后修改時間:2006-6-10 8:55:50 修改者:kingsr

4樓: >>參與討論
滌綸
回復
int   bdata   ibase;       
CHAR  bdata   bary[4];

sbit  mybit0=ibase^0;
sbit  mybit15=ibase^15;

sbit  Ary07=bary[0]^7;
sbit  Ary37=bary[3]^7;


* - 本貼最后修改時間:2006-6-9 18:43:14 修改者:滌綸

5樓: >>參與討論
computer00
在樓主的帖中,^ 是異或(C語言中的一種位操作)操作。
 
6樓: >>參與討論
smileage
個人理解
^號是不是只在定義的時候表示第幾位的意思
在具體運算表達式里表示“異或“的意思
那么TEMP0 = command^0;表示的是把command和0異或的結(jié)果賦給TEMP0;
這也是TEMP^0 = TEMP0;編譯出現(xiàn)錯誤的原因
那么TEMP^0 = TEMP0;的實現(xiàn)途徑可以如下:
sbit a0 = TEMP^0;
a0 = TEMP0; (前提TEMP是bdata)

bit是定義一個變量,額外占據(jù)內(nèi)存中一個bit的空間
sbit是聲明一個變量,就好比一個標號,與原變量地址空間相同

7樓: >>參與討論
computer00
樓上的smileage 解釋正確。
 
8樓: >>參與討論
風...
非常非常的感謝樓上各位朋友!
在此謝過!
似乎有點明白了,再仔細琢磨琢磨!
再次感謝樓上各位兄弟,謝謝啊^_^

參與討論
昵稱:
討論內(nèi)容:
 
 
相關帖子
AT89S8253怎么下載時老是提示芯片被鎖定?
工作電壓不同的兩顆IC之間的數(shù)據(jù)傳輸問題
51片上flash的問題
哪位朋友能軟件仿真一下這個電路?
尋求gprs開發(fā)兼職人員
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號