MPU6050加速度需要复位多次之后才能读取显示

2019-07-21 04:57发布

u8 MPU_Init(void)
{
  u8 res;
  IIC_PinInit();//初始化IIC总线
  MPU_Write_Byte(MPU_PWR_MGMT1_REG,0X80);        //复位MPU6050
  delay_ms(100);  
  MPU_Write_Byte(MPU_PWR_MGMT1_REG,0X00);        //唤醒MPU6050
  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,0x07);        //只有加速度都工作
    MPU_Set_Rate(50);                                                            //设置采样率为50Hz

  }else return 1;
  return 0;
}
初始化是这样的,延迟加了也没有用。萌新求助!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。