Forum: Mikrocontroller und Digitale Elektronik STM32-Discovery Gyro auslesen


von Paul (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe wie viele andere den Umstieg von AVR auf STM32 gewagt und mir 
ein STM32F4 Discovery Board zugelegt. GPIO, Usart und System Timer habe 
ich auch relativ fix zum Laufen bekommen. Probleme bereitet mir 
allerdings die SPI-Schnittstelle beziehungsweise das Auslesen des 
Beschleunigungssensor auf der Platine. Ich bekomme beim Auslesen nur 
eine 0 von dem SPI-Bus ausgegeben, jedoch keine gültigen Daten. Kann 
jemand kurz über meinen Code schauen und mir einen Denkanstoß geben?

Vielen Dank für die Bemühungen.

Paul

von Choose (Gast)


Lesenswert?

Schau dir das Demoprogramm an. Dort kann man alles schön nachvollziehen.

von Jan B. (berge)


Lesenswert?

Hi Paul,

guck mal hier: http://mikrocontroller.bplaced.net/wordpress/?page_id=705

Liebe Grüße,

Jan

von dummy (Gast)


Lesenswert?

RCC_AHB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);

Und jetzt mal GANZ GENAU HINSEHEN.

von Paul (Gast)


Lesenswert?

dummy schrieb:
> RCC_AHB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);
>
> Und jetzt mal GANZ GENAU HINSEHEN.

Schade, dass wars nicht (zumindest nicht alleine).
Dann werde ich mir die anderen Quellen mal genauer ansehen.

Vielen Dank!

von K. O. (imkant)


Lesenswert?

Hallo Paul!

Ich werde diesen Sensor auch in meinem Projekt verwenden. Bin gerade am 
tüfteln, wie ich den Gyro nützen und Programmieren kann.

Hat es bei dir schon geklappt? Hast du deinen Fehler schon gefunden?

LG Imkant

von Till D. (tillus)


Lesenswert?

Hallo, ich arbeite mich gerade wieder mit einem STM32F4-Discovery Board 
in die embedded Programmierung ein und habe mich dabei auch an diesem 
Beispiel versucht.
Es gibt unter https://www.youtube.com/watch?v=7vlEDkYk140 ein 
(funktionierendes) Videotutorial und in der Beschreibung einen Link zum 
Quellcode (https://www.dropbox.com/s/4ccxrbzy0k66dtf/main.c?dl=0).

Darin wird der SPI-Port anders konfiguriert (nur 8-bit Diagrammlänge) 
und die Funktionen für Senden und Empfangen sind anders aufgebaut.

Um sicherzugehen, dass der Gyro (LIS3DSH) mit mir spricht, habe ich 
erstmal die Register 0x0D, 0x0E und 0x0C ausgelesen, welche (beim 
LIS3DSH)die Werte 0x21, 0x00 und die Temperatur beeinhalten (Siehe 
Application Note 26768 im Kapitel Register Description).

von Horst (Gast)


Lesenswert?

Ich befürchte, daß das der Hinweis nach drei-einhalb Jahren etwas zu 
spät kommt.

von Till D. (tillus)


Lesenswert?

Für Paul schon ist die Antwort zu spät, für zukünftige Leser aber nicht.

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.