为什么I2C上接了多个其他设备接单,就不能工作


硬件连接方面和i2c地址确认

SDO_AG脚:为加速计和陀螺仪的其他设备接单地址(SA0)的最小有效位拉低时i2c地址为0x6a;拉高时i2c地址为0x6b(当前状态为;置高,所以i2c地址是6b)
SDO_M脚:i2c磁强计的其他设备接单地址(SA0)的最小有效位,拉低时i2c地址为0x1c;拉高时i2c地址为0x1e

CS_M脚:拉高时,进入i2c模式拉低时,进入spi模式;
DRDY_M脚:磁传感器数据准备好;
INT_M脚:磁传感器中斷脚

硬件相关GPIO和总线连接说明:
DEN-A/G:加速计和陀螺仪数据启用目前硬件连接的是GPIO1_C6;//拉高表示启用
INT1_A/G:加速度计和陀螺仪中断1,目前硬件连接的是GPIO1_C2;
INT2_A/G:加速度计和陀螺仪中断1目前硬件连接的是GPIO1_B5;



磁、加速度计、陀螺仪传感可分别在断电模式下开启或设置,实现智能电源管理



A/G【加速度器囷陀螺仪】工作模式

在LSM9DS1中加速度计和陀螺仪有两种可用的工作模式:只有加速度计处于工作状态而陀螺仪处于下电状态,或者加速度计和陀螺仪传感器在相同的ODR下处于工作状态
从一种模式切换到另一种模式需要一个写入操作:写入到CTRL_REG6_XL (20h),加速度计在正常模式下工作陀螺仪断電; 写入到CTRL_REG1_G (10h),加速度计和陀螺仪在相同的ODR下激活

i2c接口使用快速模式(400khz) i2c标准和标准模式实现



7.19 OUT_X_G (18h - 19h)角速率传感器俯仰轴(X)角速率输出寄存器。该值表示為两个s补码中的16位字节
7.20 OUT_Y_G (1Ah - 1Bh)角速率传感器滚轴(Y)角速率输出寄存器。该值表示为两个s补码中的16位字节
7.21 OUT_Z_G (1Ch - 1Dh)角速率传感器偏航轴(Z)角速率输出寄存器。该值表示为两个s补码中的16位字节


重力加速度计控制寄存器:


重力加速度数据寄存器:

7.31 OUT_X_XL (28h - 29h)线性加速度传感器x轴输出寄存器。该值表示为两個s补码中的16位字节
7.32 OUT_y_Xl (2Ah - 2Bh)线性加速度传感器y轴输出寄存器。该值表示为两个s补码中的16位字节
7.33 OUT_Z_XL (2Ch - 2Dh)线性加速度传感器z轴输出寄存器。该值表示为两個s补码中的16位字节


M【磁传感器】工作模式设置

磁性传感器有三种工作模式:断电模式(默认),连续转换模式和单次转换模式从电源关闭模式切换到其他模式需要对 CTRL_REG3_M (22h)执行一次写操作,在

也就是如果要设置磁感器的工作模式可以通过设置CTRL_REG3_M (22h)的值的MD(1:0)位,具体说明如下:



}

我要回帖

更多关于 其他设备接单 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信