MPU6050使用DMP中的疑问

2019-08-18 20:51发布

*  @brief      Read raw gyro data directly from the registers.
 *  @param[out] data        Raw data in hardware units.
 *  @param[out] timestamp   Timestamp in milliseconds. Null if not needed.
 *  @return     0 if successful.
 */
int mpu_get_gyro_reg(short *data, unsigned long *timestamp)
{
    unsigned char tmp[6];

    if (!(st.chip_cfg.sensors & INV_XYZ_GYRO))
        return -1;

    if (i2c_read(st.hw->addr, st.reg->raw_gyro, 6, tmp))
        return -1;
    data[0] = (tmp[0] << 8) | tmp[1];
    data[1] = (tmp[2] << 8) | tmp[3];
    data[2] = (tmp[4] << 8) | tmp[5];
    if (timestamp)
        get_ms(timestamp);
    return 0;
}这是inv.mpu.c文件中读取陀螺仪原始数据的代码
问题1:timestamp有啥用?
问题2:get_ms()函数在STM32中怎么实现?
求大神解答,先谢了

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
正点原子
1楼-- · 2019-08-19 19:44
回复【7楼】叮咚呾:
---------------------------------
 也是水平状态。
叮咚呾
2楼-- · 2019-08-20 00:04
回复【8楼】正点原子:
---------------------------------
倾斜放置的时候重力加速度不是会有分量么?是因为DMP的自检将上电状态调制到水平状态么?
正点原子
3楼-- · 2019-08-20 02:16
 精彩回答 2  元偷偷看……
eliteye0reid
4楼-- · 2019-08-20 05:11
楼主,你好,我是最近才开始学习STM32F103这款单片机的,我也是要操作mpu6050,现在要读取它的原始数据,代码我正好也看到你发的问题的地方。mpu6050资料上有说自带卡尔曼滤波校正,在相关资料上也写了STM32上也有这部分代码,我现在想调出原始数据的同时调出校正后的数据怎么做?
arao和xiaomi
5楼-- · 2019-08-20 05:59
叮咚呾 发表于 2015-4-15 15:49
原子哥,关于DMP解算的程序有个疑问:系统上电时刻是默认为水平状态么?为什么倾斜着放置,再上电,出来还 ...

这个DMP是怎么得到yaw的值的呀?

一周热门 更多>