MPU6050 DMP库使用

[复制链接]
5863|7
 楼主| 寒风晓月 发表于 2016-6-27 15:44 | 显示全部楼层 |阅读模式
IIC直接读MPU6050数据是正确的。
在使用库时,初始化时就出错了。
int mpu_init(void)
{
    unsigned char data[6], rev;

    /* Reset device. */
    data[0] = 0x80;//BIT_RESET;
    if (i2c_write(st.hw->addr, st.reg->pwr_mgmt_1, 1, &(data[0])))
        return -1;
    delay_ms(100);

    /* Wake up chip. */
    data[0] = 0x00;
    if (i2c_write(st.hw->addr, st.reg->pwr_mgmt_1, 1, &(data[0])))
        return -1;

#if defined MPU6050
    /* Check product revision. */
    if (i2c_read(st.hw->addr, st.reg->accel_offs, 6, data))
        return -1;
    rev = ((data[5] & 0x01) << 2) | ((data[3] & 0x01) << 1) |
        (data[1] & 0x01);

    if (rev) {
        /* Congrats, these parts are better. */
        if (rev == 1)
            st.chip_cfg.accel_half = 1;
        else if (rev == 2)
            st.chip_cfg.accel_half = 0;
        else {
            log_e("Unsupported software product rev %d.\n");
            return -1;
        }
    }
}
我读出来的rcv = 0x07,就成了"Unsupported software product rev "直接返回
不知道问题出在哪里?
sensen123 发表于 2016-6-30 12:33 | 显示全部楼层
我也遇到了这个问题,你解决了么
sensen123 发表于 2016-6-30 22:49 | 显示全部楼层
我已经解决了
hxr7342288 发表于 2016-7-15 18:48 | 显示全部楼层
是什么原因引起的,怎么解决的?
 楼主| 寒风晓月 发表于 2016-7-20 09:55 | 显示全部楼层
st.hw->addr的问题,DMP库中设置的地址和MPU6050 IIC的地址不一致,需要整体移动一位。
XZYYH 发表于 2018-4-12 18:22 | 显示全部楼层
寒风晓月 发表于 2016-7-20 09:55
st.hw->addr的问题,DMP库中设置的地址和MPU6050 IIC的地址不一致,需要整体移动一位。 ...

楼主我遇到了和你一样的问题,请问你是怎么解决的
zhaowenmin 发表于 2019-9-18 14:42 | 显示全部楼层
寒风晓月 发表于 2016-7-20 09:55
st.hw->addr的问题,DMP库中设置的地址和MPU6050 IIC的地址不一致,需要整体移动一位。 ...

整体移动一位是怎么弄,请指教详细一点!
yzx997 发表于 2020-4-7 16:23 | 显示全部楼层

你好,我也遇到了同样的问题,请问是什么原因怎么解决呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

38

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部