欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
調(diào)試MPU6050程序關(guān)于IIC地址的問題
[打印本頁]
作者:
孫小偉
時間:
2019-4-12 13:31
標(biāo)題:
調(diào)試MPU6050程序關(guān)于IIC地址的問題
本人在調(diào)試MPU6050的時候,發(fā)現(xiàn)使用的是同一個模塊,2個程序中從機(jī)的IIC的地址確不一樣,兩個程序燒錄進(jìn)去都能實時顯示數(shù)據(jù)。既然從機(jī)IIC的地址是固定的,那么兩個軟件的從機(jī)IIC地址不一樣怎么可能都能通信成功呢?經(jīng)過一番探討,原來還是在軟件中作了手腳。
以下是程序分析:
0x01:
#define MPU_ADDR 0X68
u8 MPU_Write_Byte(u8 reg,u8 data)
{
MPU_IIC_Start();
MPU_IIC_Send_Byte((MPU_ADDR<<1)|0);//發(fā)送器件地址+寫命令
if(MPU_IIC_Wait_Ack()) //等待應(yīng)答
{
MPU_IIC_Stop();
return 1;
}
MPU_IIC_Send_Byte(reg); //寫寄存器地址
MPU_IIC_Wait_Ack(); //等待應(yīng)答
MPU_IIC_Send_Byte(data);//發(fā)送數(shù)據(jù)
if(MPU_IIC_Wait_Ack()) //等待ACK
{
MPU_IIC_Stop();
return 1;
}
MPU_IIC_Stop();
return 0;
}
0x02:
#define SLAVEADRESS 0xD0
void IIC_WriteData(uint8_t
SlaveAddress
,uint8_t REG_Address,uint8_t REG_data)
{
IIC_Start(); //?eê?D?o?
IIC_SendByte(SlaveAddress); //發(fā)送器件地址+寫命令
IIC_SendByte(REG_Address);
IIC_SendByte(REG_data);
IIC_Stop();
}
分析:
(0x68 << 1)|0 = 1101 0000 b =0xD0;
作者:
HC6800-ES-V2.0
時間:
2019-4-13 13:36
頂一下。
平時用到時都沒有注意,你寫的好學(xué)習(xí)了。
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1