Forum: Mikrocontroller und Digitale Elektronik STM32 F10x CPAL Einbinden


von Kai G. (dr_evil)


Lesenswert?

Hallo zusammen,

ich habe ein STM32 Nucleo Board mit dem STM32 F103RB Prozessor.
Ich würde gern die CPAL LIB mit einbinden und könnte ein wenig 
Starthilfe gebrauchen, da ich auf diesem Gebiet nicht so richtig firm 
bin.
Ich habe mir die entsprechenden Daten von ST runter geladen 
(STSW-STM32127).

Das Endziel soll sein, einen 3D - Magnetfeldsensor von Infineon 
einzubinden via I²C. Und im ersten Step muss ich natürlich erstmal die 
Schnittstelle als solche in Betrieb nehmen. Ich habe in dem Usermanual 
was dazugehört leider zum Einbinden nicht so recht etwas finden können.

es Gibt ein Video online was das Einrichten von Eclipse mit der ARM 
Umgebung anschaulich erklärt. Ähnlich habe ich versucht vorzugehen, bin 
allerdings nicht sicher ob das so der richtige Weg ist.

Falls mir jemand ein kurzes How- To zur VErfügung stellen könnte, wäre 
das super.

von Kai G. (dr_evil)


Lesenswert?

Oder andersherum gefragt:

Ist es überhapt notwendig die CPAL Lib zu benutzen, wenn Cube F1 
Installiert habe? Oder kann ich das dann direkt in einem Programm 
initialisieren?

von pegel (Gast)


Lesenswert?

Ich denke du solltest erst einmal festlegen wie du es machen möchtest.

In der CPAL Lib ist ja wie bei ST üblich auch ein Beispiel enthalten auf 
das man aufbauen kann.

Genau so ist es in der HAL Lib oder der Std Lib.

Soll es schnell und einfach funktionieren? Dann HAL.

Willst du alles genau erkunden und verstehen, dann ist Fleißarbeit mit 
den Libs oder Registern angesagt.

von Dr_evil (Gast)


Lesenswert?

Also ich habe bisher nur mit Atmel Controllern gearbeitet und komme 
damit auch halbwegs gut zurecht. Dieses Projekt mit dem ARM ist im 
Rahmen eines Studienmoduls entstanden. Da die Uhr tickt und es bis zu 
einem funktionierenden 3D Sensor noch eine ganze Ecke hin ist, wäre es 
gut, es würde schnell und „einfach“ gehen.
Ich denke aus persönlichem Antrieb würde ich das im Anschluss auf dem 
anderen Wege versuchen.

Also Tipps wie ich hier am besten weiterkomme sind sehr willkommen.
Und Danke vorab

von pegel (Gast)


Lesenswert?

Ist ein Display vorgesehen? Vielleicht sogar I2C?
Dann würde ich damit beginnen.

von Dr_evil (Gast)


Lesenswert?

Darüber nachgedacht haben wir mal, ja.
Ideal wäre das als Ergänzung um uns direkt die Daten des Sensors 
anzeigen zu lassen. Aber fest eingeplant ist das nicht. Eine Option 
eben. Eine Empfehlung fpr ein bestimmtes Modell?
Vielleich sollte ich noch ergänzen erwähnen, dass das ganze nicht in 
einer art „Arduino Umgebung“ sondern in Eclipse passieren, aber für den 
Hobbymäßigen Anwender verständlich und nachvollziehbar sein soll.

von pegel (Gast)


Lesenswert?

Meine Konfiguration:

STM32CubeMX -> SW4STM32

einfache Display:

SSD1306 und ST7735

Damit hat man erst mal alles was man als Grundlage braucht.

von Dr. Sommer (Gast)


Lesenswert?

Im Reference Manual ist die I2C Peripherie detailliert  beschrieben. 
Leider ist es so, dass bei den alten STM32 Controllern (F1, F2, F4) das 
I2C Modul ziemlich dumm ist und man viel in Software machen muss. Mit 
der HAL geht das relativ einfach, aber nur synchron. Wenn das für dich 
reicht, mach das so. Wenn nicht (und du asynchron mit Interrupts 
arbeiten möchtest), würde ich empfehlen mal nach den neueren Controllern 
zu schauen (F0, L0, L1, F3, F7). Die haben ein besseres I2C Modul das 
sowohl synchron als auch asynchron sehr einfach zu nutzen ist, ob mit 
HAL oder ohne, zumindest so lange man Max. 256 Bytes am Stück überträgt. 
Das neue Modul erkennst du daran, dass es ein NBYTES Feld hat (einfach 
im Reference Manual danach suchen). Damit kannst du auch asynchrone 
Übertragung mit ca. 10 Zeilen abhandeln, selbst mit direkten Register 
Zugriffen. Externe Libraries wie CPAL machen das ganze eher 
komplizierter als einfacher.

von Dr_evil (Gast)


Lesenswert?

Okay.
Super, vielen Dank erstmal. Ich würde das in Richtung Wochenende mal 
ausprobieren und dann ggf. Nochmal auf euch zurück kommen. Danke :)

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.