[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怎么和读写命令相关了呢?
2019-5-10 10:57:33
还是先看I2C时序吧,最后一bit就是标记对I2C从设备读还是写操作的。
还是先看I2C时序吧,最后一bit就是标记对I2C从设备读还是写操作的。
举报