智能车制作

标题: MPU6050 地址问题 [打印本页]

作者: 静远泊志    时间: 2015-3-8 13:07
标题: MPU6050 地址问题
如题,看别人写的MPU6050头文件里面定义的从机地址是:
#define devAddr  0xD0
那么MPU6050手册上说的0x68和0x69有事干什么用的,而且IIC发数据的时候使用的是0xD0,
MPU6050手册中说IIC地址为0x68或0x69,但是这个地址又是其他寄存器的地址,这里感觉弄不懂了,麻烦大虾给我说说,
作者: zhou1994    时间: 2015-3-8 13:18
你把0xD0向右移动一位就明白了,然后去看你的那个发送函数。是不是先移动了一下。
作者: 静远泊志    时间: 2015-3-8 13:41
zhou1994 发表于 2015-3-8 13:18
你把0xD0向右移动一位就明白了,然后去看你的那个发送函数。是不是先移动了一下。

刚才测了下,最后写入stm32 数据寄存器的值还是0xd0,
/* Send the address */
  I2Cx->DR = Address

数据到这里还是0xd0,难道说硬件发送时会右移一位吗?


作者: 505357619    时间: 2015-3-9 08:51
静远泊志 发表于 2015-3-8 13:41
刚才测了下,最后写入stm32 数据寄存器的值还是0xd0,
/* Send the address */
  I2Cx->DR = Address

这是软件i2c和硬件i2c的区别,硬件的地址是7位,而软件模拟的话需要是8位地址。你把这两个地址写成二进制就看出来了。

作者: 静远泊志    时间: 2015-3-10 16:33
505357619 发表于 2015-3-9 08:51
这是软件i2c和硬件i2c的区别,硬件的地址是7位,而软件模拟的话需要是8位地址。你把这两个地址写成二进制 ...

知道了,谢谢了能六个QQ吗,多向你请教下

作者: 夜违背    时间: 2015-7-10 23:25
楼主知道这是为什么吗?OX68=1101 000
0XD0=1101 0000,但是bit7默认为0呀 ,bit6~bit0为1101 00,地址应该是0 1110100 +最低位呀,这样OXD0是怎么来的呀



作者: zhangjun94    时间: 2015-11-15 22:52

东西        
作者: 电气胖哥    时间: 2016-5-29 11:21
谢了




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2