• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

mpu6050 写读时使用的地址是什?如何查找

qidai 2018-09-13 浏览量:2062
找了很久一直以为0x68是读写地址,但是翻了翻例程是0xd0


0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 参考MPU6050 datasheet的第15页:

    MPU6050的写地址是0x68,这个地址是7bit的地址,右对齐高位留空。

    实际使用中IIC会把地址位最低位用于读写判断,所以IIC设备的datasheet中仅保留了7位地址,把0x68右移一位,就变成了0xD0,看个人写IIC程序的习惯,一般地址位还是做7位描述,在发送函数中右移一位加上读写位,成为8位地址。

    所以楼主说的资料0x68和0xD0都是正确的,只是看8位还是看7位的差别。

    微信截图_20180913134150.png

    • 发布于 2018-09-13
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:11
  • 这个需要仔细的查数据手册,或者官方的例程,其他资料没有这两个权威。
    • 发布于2018-09-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个在数据手册上面有写的最后一位还和片选有关.
    • 发布于2018-09-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 这需要根据 官网的手册 如何配置 I2C  来分别考虑的
    • 发布于2018-09-13
    • 举报
    • 评论 0
    • 0
    • 0

  • I2C的地址长度其实是7位的,这里的最低位另有用途,因此0x68左移一位就是0xD0了
    但这里还要考虑到通信的方向,最后一位为0时是主机写,最后一位为1时是主机读,因此这里的写入是0xD1,读取是0xD0

    • 发布于2018-09-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 具体得看资料手册,其中地址章节有详细说明
    • 发布于2018-09-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 先普及一下2进制的概念,你注意下面这个转换关系,二进制数前7位都是1101000

    0X68=1101000, 0XD0=11010000

    前者是7位地址,后者是把这个7位地址的8位形式。

    IIC总线传输是8位的,一个字节一个字节传。

    程序历程里面之所以是0XD0,只是因为把0X68​转换为8位了,这样通讯时候可以直接写入IIC总线,不用做转换了。

    • 发布于2018-09-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个是IIC的通讯方式,IIC的地址是芯片中的地址,就是0xd0
    • 发布于2018-09-16
    • 举报
    • 评论 0
    • 0
    • 0

  • 那个是IIC地址的移位操作,实际的芯片地址的0xd0


    • 发布于2018-09-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 0x68向左移一位就是0xd0了,有些i2c主机是识别7位地址的,最低位最后加上,那就是0x68。
    • 发布于2018-09-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 要参考你的芯片数据手册,这种信息都会在芯片数据手册标识出来
    • 发布于2018-10-11
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

mpu6050 写读时使用的地址是什?如何查找