Forum: Mikrocontroller und Digitale Elektronik Umstieg von Atmel AVR auf NUCLEO-F042K6


von sam (Gast)


Lesenswert?

Hallo zusammen,

ich versuche gerade die ersten Schritte mit einem STM32F042K6 auf dem 
entsprechenden Nucleo Board.
Ich benutzte aktuell die Coocox Umgebung.

Gibt es irgendwo gute Tutorials dazu?
Ich scheitere gerade schon eine vernünftige "Standard"-Lib für die 
Architektur einzubinden und eine LED ein/auszuschalten.

Vielleicht hat ja auch jemand Lust mir ein paar Sachen direkt zu 
erklären (würde ich auch bezahlen).

Konkret interessieren mich aktuell:
- grundsätzliches Aufsetzen eines Projektes
- GPIO
- I2C
- SPI (mit SD Karte)

Kennt ihr da irgendwelche Tutorials, welche Libs empfehlt ihr? Ist 
Coocox wirklich gut geeignet, wenn ich vorher das AVR Studio genutzt 
habe?

Danke und Gruß,
Sam

von Christian (Gast)


Lesenswert?

1. Möglichkeit:
System Workbench (basiert auf Eclipse) nehmen, weil es mMn schneller 
arbeitet. Oder wenn du Lust hast, kannst du auch einfach mit Eclipse + 
Plugins arbeiten. Und dazu noch Cube

2. Möglichkeit:
Keil IDE. Für M0 Mikrocontroller hat ST die Lizenz bei Keil gekauft. 
d.h. keine Code-Begrenzung für M0 Mc

von Christian (Gast)


Lesenswert?


von sam (Gast)


Lesenswert?

Hallo Christian,

ich wußte gar nicht, dass Keil kostenlos für die kleinen F0er ist. Ich 
lade mir Keil gerade mal herunter, mal gespannt.

Gruß,
Sammy

von Jürgen H. (calor)


Lesenswert?


von sam (Gast)


Lesenswert?

Danke für die Links,

ich habe jetzt den Keil am laufen mit dem STM32Cube Paket.
Grundsätzliches GPIO ansteuern geht nun.
Gerade kämpfe ich allerdings mit der I2c Schnittstelle und der 
Portierung von meinem AVR Code.
Der STM32 soll es als Master betreiben. Nichts besonderes, es braucht 
kein Interrupt etc. dabei sein. Ich steuere das direkt in der 
Haupt-Schleife mit an. Wenn jemand da noch Infos zu hat wäre ich sehr 
dankbar.

Gute Nacht,
Sam

von Harry L. (mysth)


Lesenswert?

sam schrieb:
> Gerade kämpfe ich allerdings mit der I2c Schnittstelle und der
> Portierung von meinem AVR Code.


Da ich den selben Schritt auch vor kurzer Zeit vollzogen habe, kann ich 
dir nur den Tip geben, dir HAL_I2C_Transmit_DMA genauer anzuschauen!
Funktioniert verblüffend einfach. ;)
Einfach den Datenblock abschicken, und der gesamte Rest läuft weitgehend 
automatisch (so lange kein Fehler auftritt)

Du musst nur vorher via HAL_I2C_GetState feststellen ob der Sender auch 
frei ist. (Man möge mich korrigieren, wenn ich das falsch verstanden 
habe - bin noch ganz am Anfang meiner STM32-Erfahrungen)

Die in der AVR-Welt typischen manuellen Start- Stop-Kommandos brauchst 
du nicht, aber dafür mußt du dir VOR dem senden überlegen, wie viele 
Bytes du senden willst.

Harry

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.