打印
[STM32F0]

MPU6050无法通过自检

[复制链接]
2859|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Cjy_JDxy|  楼主 | 2017-11-22 17:13 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
//mpu6050,dmp初始化
//返回值0正常
//    其他失败
u8 mpu_dmp_init(void)
{
        unsigned long int i;
        u8 res=0;
        IIC_Init();         //初始化I2C总线
        for(i=0;i<4000000;i++);
        if(mpu_init()==0)        //初始化MPU6050
        {         
                res=mpu_set_sensors(INV_XYZ_GYRO|INV_XYZ_ACCEL);//ÉèÖÃËùÐèÒªµÄ´«¸ÐÆ÷
                if(res)return 1;
                res=mpu_configure_fifo(INV_XYZ_GYRO|INV_XYZ_ACCEL);//ÉèÖÃFIFO
                if(res)return 2;
                res=mpu_set_sample_rate(DEFAULT_MPU_HZ);        //ÉèÖòÉÑùÂÊ
                if(res)return 3;
                res=dmp_load_motion_driver_firmware();                //¼ÓÔØdmp¹Ì¼þ
                if(res)return 4;
                res=dmp_set_orientation(inv_orientation_matrix_to_scalar(gyro_orientation));//ÉèÖÃÍÓÂÝÒÇ·½Ïò
                if(res)return 5;
                res=dmp_enable_feature(DMP_FEATURE_6X_LP_QUAT|DMP_FEATURE_TAP|        //ÉèÖÃdmp¹¦ÄÜ
                    DMP_FEATURE_ANDROID_ORIENT|DMP_FEATURE_SEND_RAW_ACCEL|DMP_FEATURE_SEND_CAL_GYRO|
                    DMP_FEATURE_GYRO_CAL);
                if(res)return 6;
                res=dmp_set_fifo_rate(DEFAULT_MPU_HZ);        //ÉèÖÃDMPÊä³öËÙÂÊ(×î´ó²»³¬¹ý200Hz)
                if(res)return 7;   
                res=run_self_test();                //自检
                if(res)return 8;   
                res=mpu_set_dmp_state(1);        //ʹÄÜDMP
                if(res)return 9;     
        }else return 10;
        return 0;
}
我搞MPU6050,无法通过自检。返回值是1.
请高手指教,谢谢!

沙发
Cjy_JDxy|  楼主 | 2017-11-22 17:32 | 只看该作者
我把自检那两句话注释掉,运行程序,也可以测到数据。
三个角速度值:
        MPU_Get_Gyroscope(&gyrox,&gyroy,&gyroz);        //得到陀螺仪数据
我把陀螺仪板子水平放置不动。


这样是准还是不准呢?


使用特权

评论回复
板凳
mmuuss586| | 2017-11-22 20:16 | 只看该作者

数据会变吗?
如果一直变那可能是对的;不变肯定不对

使用特权

评论回复
地板
一路向北lm| | 2017-11-22 22:12 | 只看该作者
看你发的数据好像有变化。

使用特权

评论回复
5
Cjy_JDxy|  楼主 | 2017-11-23 08:22 | 只看该作者
mmuuss586 发表于 2017-11-22 20:16
数据会变吗?
如果一直变那可能是对的;不变肯定不对

会变

使用特权

评论回复
6
yujy543210| | 2018-11-26 14:49 | 只看该作者
无法通过自检,总是返回1的原因之一是:自检时陀螺仪没放平,导致校准时偏差太大

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:绿水本无忧因风皱面,青山原不老为雪白头。

553

主题

3530

帖子

19

粉丝