打印

MPU6050 DMP库使用

[复制链接]
4925|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 | 只看该作者
是什么原因引起的,怎么解决的?

使用特权

评论回复
5
寒风晓月|  楼主 | 2016-7-20 09:55 | 只看该作者
st.hw->addr的问题,DMP库中设置的地址和MPU6050 IIC的地址不一致,需要整体移动一位。

使用特权

评论回复
6
XZYYH| | 2018-4-12 18:22 | 只看该作者
寒风晓月 发表于 2016-7-20 09:55
st.hw->addr的问题,DMP库中设置的地址和MPU6050 IIC的地址不一致,需要整体移动一位。 ...

楼主我遇到了和你一样的问题,请问你是怎么解决的

使用特权

评论回复
7
zhaowenmin| | 2019-9-18 14:42 | 只看该作者
寒风晓月 发表于 2016-7-20 09:55
st.hw->addr的问题,DMP库中设置的地址和MPU6050 IIC的地址不一致,需要整体移动一位。 ...

整体移动一位是怎么弄,请指教详细一点!

使用特权

评论回复
8
yzx997| | 2020-4-7 16:23 | 只看该作者

你好,我也遇到了同样的问题,请问是什么原因怎么解决呢?

使用特权

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

本版积分规则

11

主题

38

帖子

3

粉丝