找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索

關(guān)于mpu6050的應(yīng)答信號(hào),整不明白了

查看數(shù): 1660 | 評(píng)論數(shù): 4 | 收藏 1
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請(qǐng)稍候......
發(fā)布時(shí)間: 2023-3-2 01:06

正文摘要:

其功能是51單片機(jī)向mpu寫入一個(gè)字節(jié),然后有mpu在串行數(shù)據(jù)線(SDA)給51一個(gè)應(yīng)答信號(hào); 根據(jù)文檔的說明:如下: 這是在網(wǎng)上找的51單片機(jī)與mpu6050通信代碼的一段. 他是用PSW寄存器的進(jìn)位標(biāo)志位CY進(jìn)行數(shù)據(jù)發(fā)出的 ...

回復(fù)

ID:1045628 發(fā)表于 2023-3-2 17:07

關(guān)于第二個(gè)問題,CY單純是一個(gè)變量吧,理論上來將,他的第214行應(yīng)該是
if(I2C_RecvACK() == 0)
{
    //應(yīng)答成功,繼續(xù)執(zhí)行其他
}
這樣,不過這個(gè)估計(jì)是默認(rèn)了應(yīng)答能成功,簡化掉了;
模擬總線一般用
while(--i);
這樣的操作去等待,i 為 0 的時(shí)候就直接獲取數(shù)據(jù)了,
至于i的值,應(yīng)該和你翻轉(zhuǎn)SCL的延時(shí)是一致的,保證時(shí)鐘的準(zhǔn)確性,雖然說IIC對(duì)時(shí)鐘要求不高
用死循環(huán)硬等是不行的
ID:152785 發(fā)表于 2023-3-2 15:18
rctty 發(fā)表于 2023-3-2 11:55
一般模擬總線,時(shí)鐘由主機(jī)控制,不可能像第二個(gè)去判斷時(shí)鐘,這個(gè)沒啥意義;第一個(gè)程序,先是SCL拉高,然后 ...

謝謝,受教了
ID:1045628 發(fā)表于 2023-3-2 11:55
一般模擬總線,時(shí)鐘由主機(jī)控制,不可能像第二個(gè)去判斷時(shí)鐘,這個(gè)沒啥意義;第一個(gè)程序,先是SCL拉高,然后再SDA拉高,好嘛,總線通信結(jié)束了
ID:844772 發(fā)表于 2023-3-2 08:31
你用while,就要加個(gè)延時(shí)自動(dòng)退出的判斷,否則容易死循環(huán),你找的程序只是接收了應(yīng)答,沒判斷,普通應(yīng)用經(jīng)常這么處理。

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表