Hallo zusammen, Ich habe ein STM32F103RB Nucleo Board und nutze zur Programmierung Eclipse mit CubeF1. Das hatte ich in einem anderen thread vergangene Woche schon erwähnt. Aber so richtig weitergekommen bin ich in der Sache leider nicht. Die Hardware steht (Pullups etc.) Aber der Code nicht. Als neuling in der ARM Welt steh ich grad aufm Schlauch. kurzum, ich möchte gerne einen I²C Bus einrichten um mit einem Lagesensor zu kommunizieren, hat jemand einen Beispielcode für die Initialisierung der Schnittstelle, oder kann mir einen Tipp geben wo ich so etwas finden kann? Ich habe dieses Forum schon danach durchforstet, aber wirklich was gefunden habe ich nicht. Das reference Manual ist auf den ersten Blick anschaulich erklärt aber zum Ziel geüfhrt hat mich das auch nciht. Danke vorab.
Es gibt ein HAL User-Manual: www.st.com/resource/en/user_manual/dm00154093.pdf Außerdem gibt es im CubeF1 noch Beispielcode. Eine kurze Übersicht dazu findest du hier: www.st.com/resource/en/application_note/dm00209695.pdf
Irgendwie irritiert mich deine Frage. Du suchst nach Beispiel-Code, der die I²C Schnittstelle verwendet. Doch gerade das ist doch der Sinn von Cube HAL. Hast du Dir mal die Beispiele in dem Paket angeschaut? Hast du ma mit Google gesucht? Wenn ich dort "cube i2c example" eingebe, bekomme ich jede Menge Beispiele angeboten, sogar Youtube Videos. Du kannst Dir ruhig die Tutorials zu anderen STM32 Serien anschauen. Dank der HAL sollte deren Programmierung weitgehend identisch sein.
Das Board ist einfach mit mbed zu programmieren, es ist sogar ‚mbed enabled‘ und damit offiziell unterstützt. Auf der Hardware Seite zu dem Board ist auch ein Link zum I2C Beispiel: https://os.mbed.com/teams/ST/code/Nucleo_i2c_master/?platform=ST-Nucleo-F103RB
Eine wirkliche Frage kann ich auch nicht erkennen. Was hast du denn bis jetzt gemacht? Schon mal erfolgreich eine LED auf dem Board blinken lassen?
Darf ich dir für den Anfang statt der HAL die StdLib empfehlen? http://www.st.com/en/embedded-software/stsw-stm32054.html In der runterladbaren Dateien sind unzählige fertige Beispiele, u.a. wie man I2C verwendet. Und hör nicht auf die Leute, die gleich schreien "StdLib ist ja total veraltet und wird nicht weiter entwickelt". Mir hat sie für den Einstieg sehr geholfen.
Das ist das Hauptproblem. Zuerst muss eine Toolchain ausgewählt werden und funktionieren. Deshalb meine Frage nach Blinky.
Hallo nochmal, also ich nutze GNU ARM und GCC Toolchain. Ich habe die STD Lib nun heruntergeladen und mir die Project examples angeschaut. Da gibt es aber keinen Code, der nur die Schnittstelle konfiguriert. Eine LED habe ich ans blinke bekommen, also die Kommunikation mit dem Board funktioniert. Um nochmal detailiert darauf zu kommen. ich suche einen Code, der mir "nur" die Schnittstelle Einrichtet und aktiviert. Das was ich Sende und empfange würde ich dann selbst aufsetzen.
Moin, das bedeutet dann das du nicht die Cube Funktionen nutzen willst. In dem Fall würde ich nach dieser Anleitung vorgehen: http://diller-technologies.de/stm32.html#i2c
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.