Forum: Mikrocontroller und Digitale Elektronik ADXL345 mit Atmega32L: Auslesen der Sensorregister nur Teilweise möglich


von whatsmyname (Gast)


Angehängte Dateien:

Lesenswert?

Hallo an alle µC Freunde,

ich versuche gerade mit einem Atmega32L (8MHz Quarz) einen ADXL345 
auszulesen vie 4 Wire SPI. Meine Vorgehensweise richtet sich nach der 
von AnalogDevice vorgegeben Quick Start Guide.

Das Beschreiben der Controllregister scheint zu funktionieren aber das 
Auslesen nicht. Wenn ich ein von mir Beschriebenes Register auslese (zB 
DATA_FORMAT [0x31]) gibt dieses den Wert der DeviceID zurück. Nach dem 
Ausführen eines Hardware Resets gib das Register den richtigen Wert aus. 
Allerdings andere Register die später aus gelesen werden, geben den Wert 
des ersten Ausgelesenen Registers zurück.

Ich habe im Anhang eine ganz einfache Testroutine hinterlegt. Wie ich 
das Beschreiben und Auslesen realisiert hab.

Ich bin für jeden Hinweis sehr Dankbar

Mit freundlichen Grüßen

von whatsmyname (Gast)


Angehängte Dateien:

Lesenswert?

Soo Freunde der Kunst :-)

ich habs geschafft den Sensor zu beschreiben bzw auszulesen.
Das Geheimnis lag an der SPI Geschwindigkeit, die ich nun auf fckl / 4 
gesetzt habe, als auch das Senden von Dummybytes. Eine richtige 
Auswertung hab ich nun noch nicht vorgenommen aber wenn ich das 
HTerminal frage bekomme ich die beschriebenen Registerwerte richtig 
zurück als auch wechselnde Werte im DataX, Y, Z Register (natürlich beim 
aktiviertem Measurementbit im POWER_CTL Register).

Ich hoffe der angehangene Code funktioniert nun tatsächlich (Spricht ja 
einiges dafür ;-) ) bzw. vielleicht beantwortet er noch ein paar 
offenstehende Fragen anderer ADXL345 Verzweifelter

Ich verwende einen Atmega32L, das AVR Studio 4 - Assembler und den 
ADXL345

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.