2019-07-20 13:03发布
正点原子 发表于 2017-7-25 21:32 你应该自己多反思。 [mw_shl_code=csharp,true]//IIC连续写 //addr:器件地址
最多设置5个标签!
[mw_shl_code=csharp,true]//IIC连续写
//addr:器件地址
//reg:寄存器地址
//len:写入长度
//buf:数据区
//返回值:0,正常
// 其他,错误代码
u8 MPU_Write_Len(u8 addr,u8 reg,u8 len,u8 *buf)
{
u8 i;
IIC_Start();
IIC_Send_Byte((addr<<1)|0);//发送器件地址+写命令
if(IIC_Wait_Ack()) //等待应答
{
IIC_Stop();
return 1;
}
IIC_Send_Byte(reg); //写寄存器地址
IIC_Wait_Ack(); //等待应答
for(i=0;i<len;i++)
{
IIC_Send_Byte(buf); //发送数据
if(IIC_Wait_Ack()) //等待ACK
{
IIC_Stop();
return 1;
}
}
IIC_Stop();
return 0;
} [/mw_shl_code]
这个地方我知道,他的 IIC_Send_Byte((addr<<1)|0);为MPU6050地址,可是我没找到它哪给MPU6050设定的addr这个地址
一周热门 更多>