mikrocontroller.net

Forum: Compiler & IDEs MMA7455 SPI Beschleunigungssensor


Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Woran liegt es?

Code ist Müll, Schaltung von Arsch?

Autor: sneJ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
holger schrieb:
>>Woran liegt es?
>
> Code ist Müll, Schaltung von Arsch?

Daran hatte ich garnicht gedacht, danke Wahrsager!




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

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: (tsaG) sneJ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jens != sneJ ... warum sollte er selbst schreiben, dass er mehr Infos 
rüberkommen lassen soll

Autor: Jens (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Jens (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
nochmal richtig

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.