標(biāo)題:
C語(yǔ)言中位操作問題
[打印本頁(yè)]
作者:
134849694164151
時(shí)間:
2018-5-25 00:00
標(biāo)題:
C語(yǔ)言中位操作問題
這個(gè)EEPROM的程序里邊,讀操作這個(gè)dat|=I2C_SDA是怎么回事?麻煩會(huì)的大神給我講講,小弟不勝感激
1527177556791.jpg
(86.71 KB, 下載次數(shù): 38)
下載附件
2018-5-24 23:59 上傳
作者:
ZYL520
時(shí)間:
2018-5-25 01:48
就是dat=dat或上i2c的數(shù)據(jù)嗯
作者:
zjjhtony
時(shí)間:
2018-5-25 08:27
dat <<1; //左移一位,
dat|=I2C_SDA; //dat 或 I2C_SDA,說(shuō)明dat的最低位(0)和I2C_SDA或,相當(dāng)于取了I2C—SDA.
循環(huán)8次,相當(dāng)于取了8次I2C—SDA位,將I2C—SDA的串行發(fā)送的數(shù)字8位取成一個(gè)8位數(shù)。
即讀取了一個(gè)字節(jié)的數(shù)(8位)。
作者:
nipingbo
時(shí)間:
2018-5-25 08:41
加上sda的數(shù)據(jù)啊
作者:
zhanghyg
時(shí)間:
2018-5-25 09:09
I2C標(biāo)準(zhǔn)讀取數(shù)據(jù)的流程,在時(shí)鐘線拉高的情況下,數(shù)據(jù)線的高低電平由dat保存,每保存一位dat就左移一位,因?yàn)槭嵌M(jìn)制只能這樣保存數(shù)據(jù)。
作者:
HC6800-ES-V2.0
時(shí)間:
2018-5-25 10:05
你寫的這個(gè),是收集位數(shù)據(jù),轉(zhuǎn)換為8位字節(jié)的表達(dá)式。
第一:“或|”運(yùn)算:就是有1得1,全為零才為零。
第二:dat是8位,I2C_SDA是一位。
當(dāng)兩數(shù)據(jù)進(jìn)行或賦值運(yùn)算時(shí),就將SDA的一位數(shù)據(jù),加入到8位的dat低位中,再通過移位,得到一個(gè)完整的8位數(shù)據(jù)。
作者:
aybco
時(shí)間:
2018-5-25 14:09
dat = dat | I2C_SDA;
作者:
Brave_ZD
時(shí)間:
2018-5-25 16:19
讀取當(dāng)前I2C_SDA上的數(shù)據(jù) (一個(gè)bit讀取)
作者:
gcm520
時(shí)間:
2018-5-25 17:30
和它或,按位或
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1