软件I2C(IIC_Software)

该驱动库位于
MPU6050/IIC_Software
目录下,在小车中仅用于做MPU6050的通信支持

方法

IIC_MPU6050_Init()

MPU6050的IIC引脚初始化

返回值类型
void

IIC_Start()

模拟IIC起始信号

返回值类型
1int

IIC_Stop()

模拟IIC结束信号

返回值类型
void

IIC_Wait_Ack()

IIC等待应答信号

返回值类型
0:没有收到应答;1:收到应答int

IIC_Ack()

IIC应答

返回值类型
void

IIC_NAck()

IIC不应答

返回值类型
void

IIC_Send_Byte(u8 txd)

IIC发送一个字节

参数类型注释
txdu8发送的字节数据
返回值类型
void

i2cWrite(uint8_t addr, uint8_t reg, uint8_t len, uint8_t *data)

IIC写数据到寄存器

参数类型注释
addruint8_t设备地址
reguint8_t寄存器地址
lenuint8_t字节数
datauint8_t*数据
返回值类型
0:成功写入;1:没有成功写入int

i2cRead(uint8_t addr, uint8_t reg, uint8_t len, uint8_t *buf)

IIC读寄存器的数据

参数类型注释
addruint8_t设备地址
reguint8_t寄存器地址
lenuint8_t字节数
bufuint8_t*读出数据缓存
返回值类型
0:成功读出;1:没有成功读出int

IIC_Read_Byte(unsigned char ack)

IIC读取一个字节

参数类型注释
ackunsigned char是否发送应答信号;1:发送;0:不发送
返回值类型
receive:读取的数据u8

I2C_ReadOneByte(unsigned char I2C_Addr, unsigned char addr)

读取指定设备指定寄存器的一个值

参数类型注释
I2C_Addrunsigned char设备IIC地址
addrunsigned char寄存器地址
返回值类型
res:读取的数据unsigned char

IICreadBytes(u8 dev, u8 reg, u8 length, u8 *data)

IIC连续读数据

参数类型注释
devu8目标设备IIC地址
regu8寄存器地址
lengthu8字节数
datau8*读出的数据将要存放的指针
返回值类型
count:读出来的字节数量-1u8

IICwriteBytes(u8 dev, u8 reg, u8 length, u8* data)

将多个字节写入指定设备指定寄存器

参数类型注释
devu8目标设备地址
regu8寄存器地址
lengthu8要写的字节数
datau8*将要写的数据的首地址
返回值类型
1:返回是否成功u8

IICreadByte(u8 dev, u8 reg, u8 *data)

读取指定设备指定寄存器的一个值

参数类型注释
devu8目标设备地址
regu8寄存器地址
datau8*读出的数据将要存放的指针
返回值类型
1:返回是否成功u8

IICwriteByte(unsigned char dev, unsigned char reg, unsigned char data)

写入指定设备指定寄存器一个字节

参数类型注释
devunsigned char目标设备地址
regunsigned char寄存器地址
dataunsigned char发送的字节数据
返回值类型
1:返回是否成功u8

IICwriteBits(u8 dev, u8 reg, u8 bitStart, u8 length, u8 data)

读、修改、写指定设备指定寄存器一个字节中的多个位

参数类型注释
devu8目标设备地址
regu8寄存器地址
bitStartu8目标字节的起始位
lengthu8目标字节的位数
datau8存放改变目标字节位的值
返回值类型
1:成功;0:失败u8

IICwriteBit(u8 dev, u8 reg, u8 bitNum, u8 data)

读、修改、写指定设备指定寄存器一个字节中的1个位

参数类型注释
devu8目标设备地址
regu8寄存器地址
bitNumu8要修改目标字节的bitNum位
datau8为0时,目标位将被清,否则将被置位
返回值类型
1:成功;0:失败u8