为什么我的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处理的函数我没加,




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
黄山学院345
1楼-- · 2019-07-21 07:05
尴尬了,这个问题到现在都没有人能来解决一下
xrq1995
2楼-- · 2019-07-21 12:35
这个论坛。。。。。之前发了帖子,也是好久没解决
梁娟
3楼-- · 2019-07-21 17:04
有没有不用DMP  就可以测出平衡倾角的呀
chenghuayou
4楼-- · 2019-07-21 20:40
 精彩回答 2  元偷偷看……
fengyelancao
5楼-- · 2019-07-22 02:20
我也遇到了同样的问题。
南风过境蜻蜓飞
6楼-- · 2019-07-22 07:16
MPU6050数据没有变化这个问题你们都解决了吗?怎么解决的呢

一周热门 更多>