为什么我的MPU6050 读出的数据不变化

2019-07-20 23:26发布

我使用战舰的MPU6050的程序,不过我没有用DMP处理,我只是想得到原始的加速度,角速度和温度,为什么读出的值不变化,并且,我把战舰MPU6050程序里的AD0和INT脚都去掉了,为啥不行,求大神指导这是主函数里的数据处理代码:
        temp=MPU_Get_Temperature();                  //获取温度值
                               
                                LCD_ShowNum(30+48+8,200,temp/100,3,16);                //显示整数部分         
              LCD_ShowChar(30+48+32,200,'.',16,0);       
                       
                                LCD_ShowNum(30+48+40,200,temp%10,1,16);                //显示小数部分
                               
                               
                               
                    MPU_Get_Accelerometer(&aac_x,&aac_y,&aac_z);        //得到加速度值(原始值) 加速度
              LCD_ShowNum(30+48+8,50,aac_x/100,3,16);
                                LCD_ShowChar(30+48+32,50,'.',16,0);       
                                LCD_ShowNum(30+48+40,50,aac_x%10,1,16);
                               
                                LCD_ShowNum(30+48+8,70,aac_y/100,3,16);
                                LCD_ShowChar(30+48+32,70,'.',16,0);       
                                LCD_ShowNum(30+48+40,70,aac_y%10,1,16);
                               
                                LCD_ShowNum(30+48+8,90,aac_z/100,3,16);
                                LCD_ShowChar(30+48+32,90,'.',16,0);       
                                LCD_ShowNum(30+48+40,90,aac_z%10,1,16);
                               
                               
                     MPU_Get_Gyroscope(&gryo_x,&gryo_y,&gryo_z);  //得到陀螺仪值(原始值) 角速度



MPU6050的初始化函数:其中INT脚已经接地
        u8 res;
        MPU_IIC_Init();
        MPU_Write_Byte(MPU_PWR_MGMT1_REG,0X80);        //复位MPU6050
        delay_ms(100);
        MPU_Write_Byte(MPU_PWR_MGMT1_REG,0X00);        //唤醒MPU6050
        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引脚低电平有效
        delay_ms(10);

        MPU_Write_Byte(MPU_PWR_MGMT1_REG,0X01);        //设置CLKSEL,PLL X轴为参考
        MPU_Write_Byte(MPU_PWR_MGMT2_REG,0X00);        //加速度与陀螺仪都工作
        MPU_Set_Rate(50);                                                //设置采样率为50Hz


其中我只把战舰里的MPU6050.C和MPUIIC.c这两个函数加到工程,那DMP处理的函数我没加,




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