在原子哥阿波罗板子中,MPU9250_init函数并没有用到,为啥还要写呢

2019-07-20 08:26发布

u8 MPU9250_Init(void)
{
    u8 res=0;
    IIC_Init();   
    MPU_Write_Byte(MPU9250_ADDR,MPU_PWR_MGMT1_REG,0X80);
    delay_ms(100);  
    MPU_Write_Byte(MPU9250_ADDR,MPU_PWR_MGMT1_REG,0X00);
    MPU_Set_Gyro_Fsr(3);                                                       
          MPU_Set_Accel_Fsr(0);                                                               
    MPU_Set_Rate(50);                                                                       
    MPU_Write_Byte(MPU9250_ADDR,MPU_INT_EN_REG,0X00);  
          MPU_Write_Byte(MPU9250_ADDR,MPU_USER_CTRL_REG,0X00);
          MPU_Write_Byte(MPU9250_ADDR,MPU_FIFO_EN_REG,0X00);       
          MPU_Write_Byte(MPU9250_ADDR,MPU_INTBP_CFG_REG,0X82);
    res=MPU_Read_Byte(MPU9250_ADDR,MPU_DEVICE_ID_REG);
    if(res==MPU6500_ID)
    {
        MPU_Write_Byte(MPU9250_ADDR,MPU_PWR_MGMT1_REG,0X01);         
        MPU_Write_Byte(MPU9250_ADDR,MPU_PWR_MGMT2_REG,0X00);         
                    MPU_Set_Rate(50);                                                       
    }else return 1;

    res=MPU_Read_Byte(AK8963_ADDR,MAG_WIA);                             
    if(res==AK8963_ID)
    {
        MPU_Write_Byte(AK8963_ADDR,MAG_CNTL1,0X11);               
    }else return 1;

    return 0;
}


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