Forum: Mikrocontroller und Digitale Elektronik SPI Funktioniert nicht


von Fabian26 (Gast)


Angehängte Dateien:

Lesenswert?

ich versuche seit einer Weile eine SPI kommunikation zwischen einem 
Atmega88 modul und einem Sensor zu bekommen.alles eingestellt wie im 
datenblatt.aber leider der sensor sendet die ganze zeit nur 0xFF zurück 
und zwischen durch sendet manchmal 0x00.im AVR studio der wert von SPDR 
bleibt auch unverändert 0x00.
ich hoffe weiss jemand hier was ich falsch eingestellt habe.die meistens 
beiträge die hier das thema SPI behandeln habe ich mir angeguckt aber 
leider tut nicht wenn ich was ändere.

von Frederik K. (n0ll4k)


Lesenswert?

Also die SPI Sensoren die ich kenne benötigen alle eine gewisse Init 
Sequenz. Was für einen Sensor nutzt du denn?

Und muss man nicht erst die SPI Einstellungen mach und dann die Ausgänge 
setzen oder war das egal. Bin mir da grad nicht so sicher.

von Fabian26 (Gast)


Lesenswert?

danke für die schnelle antwort.der sensor ist ein Gyrscope SD721 von 
sensordynamics.die einstellung von SPI als erste hat auch nicht 
gebracht.

von Floh (Gast)


Lesenswert?

rdata_MR1_H = rinstruction[3]& 0b11111111;
rdata_MR1_L= rinstruction[4]& 0b111111111111;


rdata_MR2_H  = rinstruction[5]& 0b111111111111;
rdata_MR2_L  = rinstruction[6]& 0b111111111111;

Klär mich auf, was bezweckst du mit diesen Befehlen auf einem 8-bit 
Datentyp?

Der Code sieht irgendwie komisch aus, da würd ich erstmal ausmisten, um 
nur den SPI zu testen.

von Fabian26 (Gast)


Angehängte Dateien:

Lesenswert?

sorry ich habe einfach das programm ständig geändert.um etwas zu 
bewirken.ich hänge einfach das original programm.ist es normal dass der 
SPDR Register sein wert 0x00 nicht ändert?

von Floh (Gast)


Lesenswert?

welchen uC benutzt du eignetlich?
Richtig in den Compileroptionen ist der eingestellt?

von Fabian26 (Gast)


Lesenswert?

ich benutze den atmega88 .ja ist richtig eingestellt ich habe andere LED 
test programme einspielt und hats geklappt bis jetzt.

von Floh (Gast)


Lesenswert?

Kannst du überprüfen, ob am Clock und Datenaugang was rauskommt? Oszi?

von Fabian26 (Gast)


Lesenswert?

der CLK ausgang ist meistens LOW, zwischendurch enstehen takte.der MISO 
eingang ist überwiegend auf High

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.