Forum: Mikrocontroller und Digitale Elektronik STM32-Tutorial (ohne HAL etc) gesucht!


von Harald (Gast)


Lesenswert?

Hallo zusammen,

nachdem ich seit ca. 20 Jahren recht viel mit den AVR aktiv bin und vor 
einiger Zeit auch schon gute Erfahrungen mit einem Atmel ARM Cortex-M3 
sammeln konnte, wollte ich mal einen aktiven Blick auf die STM32 werfen. 
Für meinen momentanen Bedarf reichen mit die "Basic"-Features (IO, 
Timer, ADC, UART) erstmal völlig aus, also habe ich mit den STM32F03 
ausgeschaut - für den ersten Kontakt in Form eines Nucleo F080R8. Dann 
ging's an die Toolkette und hier bin ich momentan bei der STM32CubeIDE.

Beim AVR haben mich die hiesigen Tutorials (ASM + AVR GCC) "auf's Pferd" 
gebracht. Für den STM32 habe ich in zahlreichen Stunden bislang nichts 
ähnliches gefunden, um ohne HAL in den STM32 einzusteigen. So ein 
einfaches Blink-Beispiel, bei dem z.B. die GPIO manuell im Code 
konfiguriert werden, der Timer auf Registerbasis eingestellt und 
aktiviert wird, dito für INT usw. - das wäre mein Wunsch. Ein HAL hat ja 
durchaus seine Vorzüge, ich würde aber gerne erst die Basics erlernen...

Habt ihr hier einen Tipp für ein Tutorial für mich, ein Beispielprojekt 
o.ä.?

So long
Harald

von Alex (Gast)


Lesenswert?


von Christopher J. (christopher_j23)


Lesenswert?

Schau dir mal die STM32F0-Snippets an. Das sind gut kommentierte 
Beispiele, direkt vom Hersteller und ohne HAL.

von PittyJ (Gast)


Lesenswert?

Ich benutze die STMs nur noch mit HAL.
Bei SPI und I2C möchte ich gar nicht mehr auf die Ebene darunter.
Und auch bei GPIO werden in den HAL-Funktionen z.B. die benötigten 
Subsystem aktiviert und mit Takt versorgt.

Die Cube-IDE bietet wunderbare Codegeneratoren. Da wird ein GPIO am 
Bildschirm erzeugt, und der ganze Subsystemcode wird von der IDE 
erzeugt. Dann braucht man nur noch Set() (genauen Aufruf habe ich nicht 
im Kopf) und fertig ist das Blinken.
So ein STM hat Komplexität mal Zehn. Da hilft die HAL super.

von Stefan F. (Gast)


Lesenswert?

PittyJ schrieb:
> So ein STM hat Komplexität mal Zehn. Da hilft die HAL super.

Ja, aber wenn sie mal nicht hilft, ist man ohne Grundlagen 
aufgeschmissen. Deswegen ist es schon eine gute Idee, sich zusätzlich 
mit Registern und Referenzhandbuch vertraut zu machen.

von Dieter H. (kyblord)


Lesenswert?

ist dann eigentlich die komplette HAL direkt eingebunden oder kann man 
nur gegen die libs linken die man wirklich braucht?

von soft lib user (Gast)


Lesenswert?

Dieter H. schrieb:
> ist dann eigentlich die komplette HAL direkt eingebunden

Wann meinst du denn ist "dann"? Wir wissen es nicht ....

von Stefan F. (Gast)


Lesenswert?

Dieter H. schrieb:
> ist dann eigentlich die komplette HAL direkt eingebunden oder kann man
> nur gegen die libs linken die man wirklich braucht?

Wahlweise, geht beides.

Und als dritte Option kannst du gegen die zentral installierte HAL 
verlinken, ohne sie ins Projekt zu kopieren. Davon rate ich allerdings 
ab.

von Harald (Gast)


Lesenswert?

Alex schrieb:
> http://stefanfrings.de/stm32/index.html

Danke, auf den fünften Blick habe ich jetzt den aufgeführten Link 
http://www.pomad.fr/node/2 wahrgenommen- Das sieht schon 
vielversprechend aus


Christopher J. schrieb:
> Schau dir mal die STM32F0-Snippets an

Auch Danke! Die Snippets habe ich mir eben gezogen, morgen schaue ich da 
mal rein. Sieht auf jeden Fall recht umfangreich aus :)


Stefan ⛄ F. schrieb:
> Deswegen ist es schon eine gute Idee, sich zusätzlich
> mit Registern und Referenzhandbuch vertraut zu machen

So mein Gedanke!


Danke euch für die zahlreichen Hinweise!!

So long
Harald

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.