智能车制作

标题: 关于mma8451地址的问题 [打印本页]

作者: 少年梦    时间: 2014-1-15 19:53
标题: 关于mma8451地址的问题
看的芯片手册感觉i2c从机地址貌似有两个,根据who am i 寄存器得到的是0x1c,但是测试代码上说是0x38,并且还和SA0引脚高低电平有关到底哪个是地址啊
作者: Sailing7    时间: 2014-1-15 22:28
本帖最后由 Sailing7 于 2014-1-15 22:29 编辑

看数据手册

作者: projecta    时间: 2014-1-15 23:03
ox38
作者: 释是圣杰    时间: 2014-1-16 09:51
器件地址是0x38,是这个器件独有的,也就是靠这个区分挂在一个IIC总线的n个器件的。
WHO_AM_I_REG 是个寄存器,每个器件也有,是内部寄存器地址。这个寄存器的值是器件的ID。
对于mma845x,器件地址是0x38,WHO_AM_I_REG寄存器地址是0x0D,MMA8451Q_ID=0x1A, MMA8452Q_ID =0x2A,MMA8453Q_ID=0x3A。
附上我的代码的函数声明。。。
void IIC_Single_Write(unsigned char SlaveAddress,unsigned char address, unsigned char thedata);
unsigned char IIC_Single_Read(unsigned char SlaveAddress,unsigned char address);
作者: 少年梦    时间: 2014-1-16 11:49
释是圣杰 发表于 2014-1-16 09:51
器件地址是0x38,是这个器件独有的,也就是靠这个区分挂在一个IIC总线的n个器件的。
WHO_AM_I_REG 是个寄存 ...

比如说我用mma8451,给unsigned char SlaveAddress这个形参赋值时是用0x38呢还是0x1a呢


作者: 释是圣杰    时间: 2014-1-16 15:44
SlaveAddress=0x38
0x1a是ID是验证用的,,
作者: zglyr    时间: 2014-2-23 11:57
看这个
作者: 小白开水    时间: 2015-1-4 09:22
谢谢各位大神,受教了
作者: ▓追梦﹏forever    时间: 2015-3-3 22:16
释是圣杰 发表于 2014-1-16 09:51
器件地址是0x38,是这个器件独有的,也就是靠这个区分挂在一个IIC总线的n个器件的。
WHO_AM_I_REG 是个寄存 ...

那请问器件的地址和器件的ID有什么不同啊?ID是干嘛用的?

作者: houge123456    时间: 2015-4-25 16:17

作者: FlintWilliams    时间: 2015-11-20 23:06
为什么我用库里的例程读出来resultx的值都是1




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