综合技术
直播中

李云逍

7年用户 180经验值
私信 关注
[问答]

MPU6050的程序问题

[AppleScript] 纯文本查看 复制代码
u8 MPU_Read_Byte(u8 reg){                u8 res;    MPU_IIC_Start();                 MPU_IIC_Send_Byte((MPU_ADDR<<1)|0);//发送器件地址+写命令                        MPU_IIC_Wait_Ack();                //等待应答     MPU_IIC_Send_Byte(reg);        //写寄存器地址    MPU_IIC_Wait_Ack();                //等待应答    MPU_IIC_Start();                MPU_IIC_Send_Byte((MPU_ADDR<<1)|1);//发送器件地址+读命令            MPU_IIC_Wait_Ack();                //等待应答                 res=MPU_IIC_Read_Byte(0);//读取数据,发送nACK     MPU_IIC_Stop();                        //产生一个停止条件                 return res;                }
其中这两句MPU_IIC_Send_Byte((MPU_ADDR<<1)|0);//发送器件地址+写命令
MPU_IIC_Send_Byte((MPU_ADDR<<1)|1);//发送器件地址+读命令
函数参数当中的((MPU_ADDR<<1)|0)与((MPU_ADDR<<1)|1)怎么理解呀?0,1怎么和读写命令相关了呢?

回帖(1)

刘润生

2019-5-10 10:57:33
还是先看I2C时序吧,最后一bit就是标记对I2C从设备读还是写操作的。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分