OpenEdv-开源电子网
标题:
mpu9150器件ID为0xFF,AD0接地了,连接线测量也均导通,只有5、6cm长,初始化mpu的代码如下:
[打印本页]
作者:
qinxiaoxiao
时间:
2018-11-3 22:49
标题:
mpu9150器件ID为0xFF,AD0接地了,连接线测量也均导通,只有5、6cm长,初始化mpu的代码如下:
u8 MPU_Init(void)
{
u8 res;
IIC_Init();//初始化IIC总线
delay_ms(500);
MPU_Write_Byte(MPU_PWR_MGMT1_REG,0X80); //复位MPU
delay_ms(100);
MPU_Write_Byte(MPU_PWR_MGMT1_REG,0X00); //唤醒MPU
MPU_Set_Gyro_Fsr(3); //陀螺仪传感器,±2000dps
MPU_Set_Accel_Fsr(0); //加速度传感器,±2g
MPU_Set_Rate(50); //设置采样率50Hz
MPU_Write_Byte(MPU_INT_EN_REG,0X00); //关闭所有中断
MPU_Write_Byte(MPU_USER_CTRL_REG,0X00); //I2C主模式关闭
MPU_Write_Byte(MPU_FIFO_EN_REG,0X00); //关闭FIFO
MPU_Write_Byte(MPU_INTBP_CFG_REG,0X80); //INT引脚低电平有效
res=MPU_Read_Byte(MPU_DEVICE_ID_REG);
if(res==MPU_ADDR)//器件ID正确
{
MPU_Write_Byte(MPU_PWR_MGMT1_REG,0X01); //设置CLKSEL,PLL X轴为参考
MPU_Write_Byte(MPU_PWR_MGMT2_REG,0X00); //加速度与陀螺仪都工作
MPU_Set_Rate(50); //设置采样率为50Hz
}
else return 1;
return 0;
}
作者:
正点原子
时间:
2018-11-4 02:18
帮顶
作者:
qinxiaoxiao
时间:
2018-11-4 11:43
接收器件地址为oxFF是因为没接收到IIC的应答信号,太蠢了我!但是调试好,器件地址为0x00,很郁闷还是不对啊,求大佬指点
欢迎光临 OpenEdv-开源电子网 (http://47.111.11.73/)
Powered by Discuz! X3.4