|
其功能是51單片機(jī)向mpu寫(xiě)入一個(gè)字節(jié),然后有mpu在串行數(shù)據(jù)線(SDA)給51一個(gè)應(yīng)答信號(hào);
根據(jù)文檔的說(shuō)明:如下:
2.png (270.68 KB, 下載次數(shù): 36)
下載附件
2023-3-2 01:04 上傳
3.png (118.23 KB, 下載次數(shù): 32)
下載附件
2023-3-2 01:04 上傳
我對(duì)應(yīng)答信號(hào)的理解是:
51向mpu發(fā)送完8位數(shù)據(jù),如果mpu應(yīng)答,會(huì)在第9個(gè)時(shí)鐘時(shí),拉低數(shù)據(jù)線SDA.所以我的應(yīng)答代碼如下:
void Write_ACK()
{
SCL=1;
SDA=1;
while(SDA); //用while判斷SDA有沒(méi)有被拉低,
}
或
void Write_ACK()
{
SCL=1;
while(SCL); //如果從設(shè)備忙,他會(huì)使SCL保持在低電平.用while判斷mpu是不是在忙,
}
事實(shí)情況是這兩種都不理想;第一個(gè)進(jìn)入死循環(huán),第二個(gè)沒(méi)收到過(guò)反饋;
1.png (86.32 KB, 下載次數(shù): 30)
下載附件
2023-3-2 01:04 上傳
這是在網(wǎng)上找的51單片機(jī)與mpu6050通信代碼的一段.
他是用PSW寄存器的進(jìn)位標(biāo)志位CY進(jìn)行數(shù)據(jù)發(fā)出的,
他接收應(yīng)答用的還是CY,返回CY后,并沒(méi)有對(duì)CY做任何判斷,
他是怎么判斷有沒(méi)有收到mpu的應(yīng)答信號(hào)的?
還是CY有什么特性?(我在網(wǎng)上沒(méi)找到相關(guān)知識(shí));
|
|