I have recently purchased a new MinIMU-9 v2, and need to interface it with LPCxpresso.
I have found this similar topic here:
minIMU-9 with NXP LPCXpresso (ARM Cortex M3) or STM32,
However, the registers of version 2 are different from version 1. Would you please helping me modify the library? I am a beginner of embedded system, and I hope that I could learn more from you!
I am also alittle confused: it seems that for version 2, the I2C addresss of accelerometer is fixed! So can I use 2 different minIMU connect to one LPCXpresso board?
Hello and welcome to the forum. You should be able to use two MinIMU-9 V2 with your LPCXpresso board by connecting them to two different I2C bus lines (you will not be able to have multiple units on the same I2C bus because they will both have the same I2C addresses). It looks like all of the register-specific code is in the I2C.c portion that LPCXpresso library, so that is probably what you need to change to get it working with the LSM303DLHC. You can refer to our LSM303 library here to get an idea of which registers you will have to modify.
According to pololu.com/catalog/product/1268,
“The gyro, accelerometer, and magnetometer each have separate slave addresses on the I²C bus. The board pulls the gyro’s SA0 pin high, setting its slave address to 1101011b. The accelerometer’s slave address is fixed to 0011001b and the magnetometer’s slave address is fixed to 0011110b.”
Does this means that accelerometer is always fixed to 0011001b, even with two different I2C? Can I still have reading of acclerometer?
As long as you use two different I2C buses, you will be able to access the two MinIMU-9 separately.