MMA7455 SPI Beschleunigungssensor

Gast #1566392
Lesenswert?

Kann jemand helfen,

habe den IC mit SPI angesteuert, auch mit I²2 -- ohne Erfolg. Er gibt 
nur Unsinn raus, nicht die Werte, die ich in die Register schreibe.

Habe dann eine eigene SPI an PORTD geschrieben, dann auch mit langsamer 
Übertragungsrate probiert, auch ohne Erfolg.

Gibt es alternative Sensoren mit SPI?

Hat jemand einen C-Code zum Auslesen erfolgreich getestet?

Woran liegt es?

Danke.
Gast #1566482
Lesenswert?

Falls Jens == sneJ, dann

... bischen mehr Infos würden die Fehleranalyse wirklich vereinfachen

=> ACK!

Achso, und natürlich falsches Topic fürs GCC Forum.

Also:

Verwendete Schaltung?
Code?
Was für ein IC?
Gast #1567365
Lesenswert?

Danke an alle,

folgendes: Ich habe einen uC mit 5V und den MMA mit 3V.

Es lag nicht am Code. Zuerst habe ich alle Leitungen SDIO, SCK, SC 
direkt an den MMA angeschlossen und dann je einen PulUp Wid an 3V 
geschlossen. Dann habe ich beim uC nur das DDR Register bewegt, also nur 
Low-Zustände rausgegeben, den Hi-Zustand müsste ja dann der PulUp 
bringen --- das hat nicht funktioniert.

Jetzt habe ich alle uC Leitungen über 2,2K Reihe und dann 4,7K gegen 
Masse geschaltet, das geht auch, wenn MMA mit 3V sendet. Nun schalte ich 
direkt die Ports. Dummerweise ist mein Oszi kaput gegangen und ich kann 
im Moment nichts kontrollieren.

Nun geht alles und ich kann die SPI an irgendwelchen Ports betreiben, 
bei mir PortD .... SDIO_Output usw. sind Makros, die lediglich die Ports 
setzen.


Nochwas, wen es interessiert. Die Daten für die Achsen werden im 2er 
Complement ausgegeben, um Werte von 0..127 o.ä. zu erhalten muss man die 
ankommenden Werte mit 128 addieren und dann einen Wert um die 50 
abziehen .... aber das wisst Ihr sicher.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren