若该文为原创文章,转载请注明原文出处。
正点原子提供的I2C有测试ap3216c,SH3001等传感器,根据手册操作可以实现效果。
这里记录使用I2C3驱动MPU6050.
记录原因是前面有模拟I2C,但硬件如何使用,有点不是很清楚,所以使用MPU6050测试,验证自己所想。
一、I2C介绍
i2c支持一主多从,各设备地址独立,标准模式传输速率为100kbit/s,快速模式为400kbit/s。总线通过上拉电阻接到电源。 当 I2C 设备空闲时,会输出高阻态,而当所有设备都空闲,都输出高阻态时,由上拉电阻把总线拉成高电平。
I2C物理总线使用两条总线线路,SCL和SDA。
-
SCL: 时钟线,数据收发同步
-
SDA: 数据线,传输具体数据
二、MPU6050数据读写
1、写操作
对MPU6050进行写操作时,主设备发出开始标志(S)和写地址(地址位加一个R/W位,0为写)。 MPU6050产生应答信号。然后主设备开始传送寄存器地址(RA),接到应答后,开始传送寄存器数据, 然后仍然要有应答信号,连续写入多字节时依次类推。
2、读操作
对MPU6050进行读操作时,主设备发出开始标志(S)和读地址(地址位加一个R/W位,1为读)。