欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 關(guān)于IIC的應(yīng)答,請(qǐng)各位大佬幫幫忙,剛剛學(xué)51單片機(jī) [打印本頁(yè)]

作者: 梯度    時(shí)間: 2020-8-13 21:20
標(biāo)題: 關(guān)于IIC的應(yīng)答,請(qǐng)各位大佬幫幫忙,剛剛學(xué)51單片機(jī)
這里的應(yīng)答怎么理解,還有后面的I2cReadRespon怎么注釋了

1597324697053.jpg (1015.73 KB, 下載次數(shù): 79)

1597324697053.jpg

1597324790778.jpg (1.14 MB, 下載次數(shù): 69)

1597324790778.jpg

作者: jimmyfans    時(shí)間: 2020-8-13 21:53
對(duì)方連續(xù)發(fā)送的時(shí)候,也可以不產(chǎn)生應(yīng)答
作者: Y_G_G    時(shí)間: 2020-8-13 22:03
C語(yǔ)言不會(huì)
IIC的應(yīng)答是這樣子的:不管是讀還是寫(xiě),每8個(gè)位(一個(gè)字節(jié))之后,一定要有一個(gè)應(yīng)答.
向IIC器件寫(xiě)入:寫(xiě)入完成一個(gè)字節(jié)之后,由IIC器件產(chǎn)生應(yīng)答(低電平),單片機(jī)等待低電平,出現(xiàn)低電平就表示器件已經(jīng)有了應(yīng)答
讀取:在讀取完一個(gè)字節(jié)之后,由單片機(jī)向IIC器件發(fā)送應(yīng)答信號(hào)(低電平)
作者: 梯度    時(shí)間: 2020-8-13 22:42
還有在主機(jī)發(fā)送應(yīng)答哪里,等待應(yīng)答是SCL=1,不是應(yīng)該為零才對(duì)嘛?
作者: icephantom    時(shí)間: 2020-8-13 22:54
應(yīng)答:
     200us時(shí)間內(nèi),等待從機(jī)回答一個(gè)ACK信號(hào)(就是拉低SDA);如果超過(guò)200us,從機(jī)不會(huì)答,則拉低SCL,等待下一個(gè)操作。
I2cReadRespon怎么注釋了
    這個(gè)有沒(méi)有后續(xù)程序?
    如果沒(méi)有的話,I2CReadByte()函數(shù)最后第三步 把SCL 拉低了,就不用再重復(fù)低SCL。
作者: 心有浮生    時(shí)間: 2020-8-14 09:36
應(yīng)答就是從機(jī)告訴主機(jī)我在聽(tīng)你說(shuō)話,你可以繼續(xù)說(shuō)。如果從機(jī)不在聽(tīng)主機(jī)說(shuō)話,那么主機(jī)就不會(huì)接著往下說(shuō)了。
51里面如果把io口置高就是輸入模式。如果置低就是輸出模式,顯然應(yīng)答是要把io口置高來(lái)接收從機(jī)的信息。
作者: lp2323    時(shí)間: 2020-8-14 11:18
首先baiIIC通信要分清主機(jī)與從機(jī)的關(guān)系,在du主機(jī)對(duì)從機(jī)進(jìn)行寫(xiě)操zhi作時(shí),一般dao是在傳送完一個(gè)數(shù)據(jù)之后單片機(jī)就進(jìn)入檢測(cè)應(yīng)答信號(hào)狀態(tài):先將兩個(gè)腳置位SDA=1;SCL=1;然后在一定時(shí)間內(nèi)不斷檢測(cè)SDA腳的電平狀態(tài),比如說(shuō)你弄個(gè)循環(huán)for(i=255;i>0;i--){..;if(...)break;...}進(jìn)行不斷判斷,當(dāng)SDA的電平為低時(shí)就跳出循環(huán),說(shuō)明此時(shí)從機(jī)已經(jīng)ACK,就可說(shuō)明是I2C器件拉低;如果為高時(shí),則一直判斷完整個(gè)循環(huán),到最后還為高時(shí),就說(shuō)明沒(méi)有應(yīng)答。  2、寫(xiě)應(yīng)答和讀應(yīng)答肯定有所區(qū)別的。寫(xiě)應(yīng)答是在你讀從機(jī)數(shù)據(jù)期間,當(dāng)你接收到一個(gè)數(shù)據(jù)時(shí),可以應(yīng)答的(想繼續(xù)通信就應(yīng)答),就將SDA復(fù)位(拉低),不想應(yīng)答(想結(jié)束通信時(shí))就置位(SDA=1)。讀應(yīng)答則在主機(jī)寫(xiě)數(shù)據(jù)給從機(jī)期間,每當(dāng)從機(jī)接收到一個(gè)數(shù)據(jù)就會(huì)應(yīng)答一下(將數(shù)據(jù)SDA線拉低),主機(jī)將不斷檢測(cè)SDA線的電平,主機(jī)就是憑SDA的電平狀態(tài)才知道從機(jī)是否已經(jīng)正確地接收了主機(jī)發(fā)送的
作者: 梯度    時(shí)間: 2020-8-14 11:45
Y_G_G 發(fā)表于 2020-8-13 22:03
C語(yǔ)言不會(huì)
IIC的應(yīng)答是這樣子的:不管是讀還是寫(xiě),每8個(gè)位(一個(gè)字節(jié))之后,一定要有一個(gè)應(yīng)答.
向IIC器件寫(xiě)入 ...

哪為什么I2cReadRespon哪里注釋了呢?
作者: Y_G_G    時(shí)間: 2020-8-14 13:57
梯度 發(fā)表于 2020-8-14 11:45
哪為什么I2cReadRespon哪里注釋了呢?

I2cReadRespon后面不是完整的代碼,沒(méi)有看到時(shí)鐘的操作
讀取數(shù)據(jù)的應(yīng)答是為了告訴IIC器件下一個(gè)動(dòng)作要做什么
應(yīng)答:繼續(xù)輸出數(shù)據(jù)
不應(yīng)答:停止輸出數(shù)據(jù)
作者: 梯度    時(shí)間: 2020-8-18 17:31
Y_G_G 發(fā)表于 2020-8-14 13:57
I2cReadRespon后面不是完整的代碼,沒(méi)有看到時(shí)鐘的操作
讀取數(shù)據(jù)的應(yīng)答是為了告訴IIC器件下一個(gè)動(dòng)作要做 ...

好的,謝謝哈
作者: 梯度    時(shí)間: 2020-8-18 17:34
lp2323 發(fā)表于 2020-8-14 11:18
首先baiIIC通信要分清主機(jī)與從機(jī)的關(guān)系,在du主機(jī)對(duì)從機(jī)進(jìn)行寫(xiě)操zhi作時(shí),一般dao是在傳送完一個(gè)數(shù)據(jù)之后單 ...

謝謝大佬的指教。




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1