Hi, << to those of you who already used the ADXL312 or similar >> I have an SPI/I2C-Accelerometer (ADXL312) from Analog Devices which I want to use in combination with an ATXmega128A1. I have already successfully set up the I2C connection, but I cant get any valid data from the x,y and z registers. I can read the DEVICE_ID and my initialisation looks as follows: DATA_FORMAT: 0x08 POWER_CTL: 0x08 INT_ENABLE: 0x80 After that, the only data I get from the X0,X1,Y0,.. registers are those: x00 xf0 X0,1 x00 xf0 Y0,1 x00 xf0 Z0,1 Does anyone know what might be the reason for that? Did I forget a part of the initialisation?
BTW, this is a complete register dump, done with a multi-byte read.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
Guest
#2449357
Hi, check Vdd (range 2.0-3.6V). If you have a logic level analyzer link an image of the data. Everything else looks fine, but check the UG anyway: http://www.analog.com/static/imported-files/user_guides/UG-281.pdf Unfortunately I've used it with 4-wire SPI bus, on Atmega328. Check my first steps here: http://infotirona.tripod.com/embedded.html Regards!
Hey, I solved the problem, I did a Design-Mistake with some 'Do-Not-Connect' Pins ;) You'll find my code in the attachment, in case someone or 'whatisthis' will need it.. ;) The twi_master_driver.* files are based on a AppNote from Atmel for the XMEGA-TWI. Cheers
Reply
Please log in before posting.