Hallo,
konnte nach längerem Stöbern im Forum zur Kommunikation mit einem
3-Achs-Accelerometer (ADXL345) keine Hilfe finden, die für mich
verständlich war, deswegen frag ich mal los:
Ich versuche über einen ATMEGA328P mit dem besagten Accelerometer zu
kommunizieren über SPI-3-Wire, allerdings bis jetzt ohne Erfolg.
Wenn der Code ausgeführt wird, wird nach dem 42. Testbyte (Zeile 179)
"8" empfangen und auf einer 7-Segment-Anzeige dargestellt. Ich kann
leider nicht verstehen, warum gerade "8" empfangen wird, weil ich denke
durch mein Procedere die DeviceID abzufragen, was ja eigentlich "0xE5"
ausgeben sollte.
CPOL und CPHA sind, wie im Code im Anhang zu sehen ist, vom Datenblatt
[1] erwünscht auf 1 gesetzt, bevor der µc mit dem Accelerometer
"spricht".
Verbunden habe ich die Ports wie folgt:
1 | ATMEGA328P ADXL345
|
2 | SCL SCK
|
3 | SDA MOSI
|
4 | CS PINC4
|
5 | GND GND
|
6 | VCC VCC
|
Bin leider noch nicht so erfahren, deswegen bitte Nachsicht mit meiner
Dummheit.
Vielen Dank schonmal fürs Lesen, mein Code ist im Anhang.
[1] http://www.analog.com/static/imported-files/data_sheets/ADXL345.pdf