Forum: Mikrocontroller und Digitale Elektronik Mikrocontrollerprogrammierung wie fang ich an?


von Jens S. (jens399)


Lesenswert?

So Leute,

ich hab mal ne Frage und hoffe ihr könnt mir ein bisschen helfen. Ich 
bin Techniker Elektrotechnik und auf der Suche nach einem neuen Job. Nun 
lese ich in jeder zweiten Stellenanzeige das 
Mikrocontrollerprogrammierung gefordert ist. Elektronik kann ich ganz 
gut, aber Programmierkenntnisse fehlen mir.

Während meines Studium haben wir zwar auch etwas "programmiert" aber das 
kann man nicht Erlernen einer Porgrammiersprache nennen. Ich glaube es 
war C oder schon C++. Da ging dann so ein DOSfenster auf und man sollte 
drei Zahlen eintippen und dann wurde der Flächinhalt berechnet, so 
kleine Sachen halt. Ich hab da auch mal gefragt wie man das als 
Windowsprogramm schreibt, man meinte aber nur das wäre zu kompliziert. 
Nunja es war auch nur begrenzt Zeit. Ich kann mich nur daran erinnern 
das es mir Spass gemacht hat. Allerdings habe ich damals für mich keine 
Verwendungszwecke gesehen, weshalb ich nicht weiter gemacht habe. Wusste 
schlichtweg nicht was ich Sinnvolles hätte programmieren sollen. Ein 
bisschen Assembler habe ich auch mal gesehen, meine aber mich erinnern 
zu können, es eher bäh gefunden zu haben.

Auf meiner letzten Arbeitsstelle hab ein bisschen was mit Delphi 
gemacht, weil das grad kostenlos war. Das war objectbasiert, also recht 
einfach. Ein Fenster kreiert mit ein paar Ein und Ausgaben, die 
Funktionen lagen ja schon dahinter, das hatte man schnell raus. Fand ich 
auch gut. Wenn man allerdings schon etwas tiefer einsteigen musste war 
ich schon aufschmissen. Man hätte Pascal beherrschen müssen, z.B. um 
eine RS232 Schnittstelle anzusprechen. Da hatte ich dann zum Glück 
Hilfe. Aber es war auch nicht soviel Zeit richtig einsteigen zu können.

Die Firmen für die ich mich interessiere arbeiten meist mit sowas 
http://www.st.com/web/en/catalog/mmc/FM141/SC1169?sc=stm32. Nun will ich 
nicht vermessen sein mich mit echten Vollprogrammierern zu messen, aber 
irgendwie muss man ja mal anfangen. Ich will wenigstens in absehbarer 
Zeit sagen können, ich habe wenigstens Grundkenntnisse.

So ich hoffe ihr habt ein paar Tipps für mich. :-) Der kann natürlich 
auch lauten "Vergiss es entweder man studiert das 5 Jahre oder es wird 
nix" das wäre dann eher :-(

Und schon mal danke

von Amateur (Gast)


Lesenswert?

Fast alle Firmen haben ihre Evaluation Boards.
Die kosten fast nix. Benötigen manchmal nur ein USB-Kabel als weitere 
Investition. Haben auch oft Beispiele bis zum Abwinken.

Alternativ kannst Du Dir auch eines der gängigen Boards z.B. einen 
Arduino besorgen. Die mitgelieferte (Internet) Entwicklungsumgebung 
enthält ebenfalls einen Sack voll Beispiele. Wenn Du bei Bing oder 
Google mit dem Stichwort Arduino auf Reisen gehst, wirst Du regelrecht 
mit Tutorials und Beispielen erschlagen.
Last but not least: Hier im Forum wird das Teil von hinten bis vorn 
besprochen.

Natürlich gibt es noch viele andere Boards die vieeeeel besser sind.

Also: Kleines Geld und nur etwas Suche.

von stefanus (Gast)


Lesenswert?

Versuche es mit folgenden Suchbegiffen in der Internet-Suchmaschine 
deiner Wahl:

Mikrocontroller Tutorial
Mikrocontroller Einstieg
AVR (oder ARM oder PIC) Evaluation Kit

von Moritz (Gast)


Lesenswert?

Moin,

Also die STM32 Controller (in deinem Link) sind schon recht 
anspruchsvoll, wenn man noch nie mit Mikrocontrollern zu tuen hatte. 
Deshalb würde ich dir raten, dass du mal nach Atmel Avr suchst. Die sind 
im Vergleich erstmal viel einfach. Durch das Atmel Studio oder andere 
komplett fertige Entwicklungsumgebungen für den PC sollte es auch 
möglich sein ohne große Programmierkenntnisse los zu legen. Als 
Programmiersprache ist C eig. Standard.

Zu den Avrs gibts es Tonnen an Material/Tutorials im Netz und hier im 
Forum kennt die auch fast jeder!?

Moritz

von Berge (Gast)


Lesenswert?

Das ist Ansichtssache. Da er Programmiererfahrung hat, ist es 
wahrscheinlich sogar einfacher mit den STMs anzufangen. Wirf mal einen 
Blick auf http://mikrocontroller.bplaced.net/ und die Beispielprojekte. 
Wenn du damit klar kommst, ist es unter Garantie einfacher für dich als 
mit den AVRs.
LG Jan

von Gregor O. (zappes)


Lesenswert?

Wenn man den STM32 verstehen will, ist  auch dieses kostenlose eBook 
nicht schlecht:

http://www.cs.indiana.edu/~geobrown/book.pdf

Der Autor geht die Sache dabei sehr generisch an, d.h. mit Makefiles 
statt einer speziellen IDE. Das mag etwas archaisch wirken, hat aber den 
Vorteil, wirklich überall reproduzierbar zu sein. Da das Buch nichts 
kostet, kann win Blick darauf jedenfalls kaum schaden. :)

von Mc. Gurkh (Gast)


Lesenswert?

Hallo,

ich habe ja auch mal damit angefangen, daher folgender Rat meinerseits:

Wenn Du wirklicht richtig Mikrocontroller programmieren lernen willst, 
dann fängst Du auch am Besten richtig damit an. Sprich Steckbrett, 
nackter Mikrocontroller (AVR oder PIC würde ich zu Beginn empfehlen, da 
gibt es Tutorials wie Sand am Meer) und dann los.

So Sachen wie Arduino bringen schnellen Erfolg. Stützen sich aber meist 
auch auf tausende Librarys. Das ist für das Verständnis im Allgemeinen 
hinderlich. Im Studium habe ich die Erfahrung gemacht, dass diejenigen 
die sich die ganze Zeit bei jedem kleinen Projekt auf einen Arduino 
stürzten zuletzt am schlechtesten programmieren konnten. Die meisten 
dieser Fraktion haben auch das Modul "Mikrorechnertechnik" mehrfach 
belegen dürfen.

Das bedeutet nicht, dass das Quatsch ist. Arduino ist ne klasse Sache um 
schnell Erfolg zu haben und zu basteln. Aber wenns eine berufliche Basis 
werden soll, dann würde ich definitiv zum nackten System raten.


Viele Grüße
Mc. Gurkh

von Markus H. (dasrotemopped)


Lesenswert?

wenn es beruflich relevante Praxis werden soll lade den kostenlosen 32k 
Keil herunter, kaufe dir irgendein STM Nucleo Board und lege los. Deine 
Frustschwelle sollte am Anfang aber nicht zu niedrig sein. Wenn der 
Groschen erst einmal gefallen ist, macht es keinen relevanten 
Unterschied mehr, welchen ARM von welchem Hersteller du programmierst.
Etwas anderes als ARM würde ich heute nicht mehr machen, auch wenn der 
Einstieg in was anderes vielleicht leichter erscheint.
Bei jeder IDE sind Einsteiger Tutorials und so weiter in rauhen Mengen 
dabei, es mangelt nie an Informationen, nur an Übersicht.

Gruß,

dasrotemopped.

PS: statt auf bessere Hardware zu schielen beim Eval Board gibt das Geld 
eher für gute Bücher aus, die wirst du dringender brauchen als 
schnellere Hardware. Und mal was anfädeln solltest du ja können mit den 
Vorkenntnissen.

von Guenter B. (gbl)


Lesenswert?

Ich habe mir ein paar AVR Atmel Mega8 gekauft und bin mit einem 
selbstgebauten Programmierkabel für den Parallelport angefangen.
Inzwischen habe ich mir ein ordentliches Programmierkabel besorgt, was 
ich auch für den Anfang nur empfehlen kann, da das Selbstbaukabel hin 
und wieder für Frust gesorgt hat.
Als Software habe ich Programmers Notepad und das AVR-Studio eingesetzt.
Anleitungen für den Einstieg gibt es reichlich.
Zu anderen uC kenne ich mich nicht so.
Ich programmiere allerdings nicht beruflich sondern nur fürs Hobby.

Gruß

Günter

von oldmax (Gast)


Lesenswert?

Hi
Vielleicht wäre noch interessant zu wissen, wo du deine orientierung 
hast: Steuerung-, Datenverarbeitung-, Regelung-, Energie- ?Techniker ist 
nicht gleich Technniker. Ich z.B. tu mich schwer mit Regelungstechnik. 
Was an unseren Anlagen erforderlich ist, krieg ich grad noch so hin, 
aber meine Stärke liegt da eher im Bereich 1 oder 0, also ich bin ein 
mehr oder weniger digital denkender Mensch. Deshalb macht es mir auch 
Spaß, meine Controller mit Assemblwer zu quälen... (ja ich weiß, dem 
Controller ist das völlig schnurz)
Angefangen hab ich, nachdem Mister Microsoft mit Win98 das letzte 
Betriebssystem mit Zulassung zur direkten Programmierung der 
Schnittstellen abgeschlossen hat und nun der Zugriff eben nicht mehr so 
einfach ist. Also brauchte ich einen Ersatz, um Dateneerfassung (z.B. 
für eine Carrerabahn) zu bauen. Irgendwann hab ich dann den Weg über das 
Pollin-Board angefangen und bevor hier wieder drau´flos geschimpft wird, 
ja, es ist allein eine Krücke. Aber mit einem USB-ISP sowas wie der MK2, 
ist es gar nicht übel. Ich benutze Diamex-Programmer und damit bin ich 
momentan gut zufrieden.
Also mein Tip: Such dir erst mal eine aufgabe, die du umsetzen möchtest. 
Dann kommst du selbst auf den Controller und dann kannst du dir 
überlegen, ob du das viele geld und die vielen Stunden aufwenden willst. 
So ganz ohne Ziel und einfach n ur, um in der Bewerbung "Ich mach 
Mikrocontroller" stehen zu haben wirst du dich schwer tun. Wenn du schon 
mal mit Delphi programmiert hast, wie weit bist du gekommen? War es 
nicht so, das du nichts umzusetzen hattest und dann damit wieder 
aufgehört hast. Genau das passiert, wenn man kein Ziel hat. Nimmst du 
aber einen Controller zur Datenerfassung und ein Delphi, um diese dann 
auszuwerten beginnt es Sinn zu machen. Am beispiel Carrera:
Controller erfasst die Runden und Rundenzeiten (1/1000 Auflösung) Daraus 
leite ich im PC dann die schnellste Runde, die höchste Geschwindigkeit, 
die Anzeige der Runden, Fehlstarts und vieles mehr ab.
Na ja, fertig ist das noch nicht, aber ich bin ja bald Rentner....
Gruß oldmax

von Jens S. (jens399)


Lesenswert?

Hi,

also erstmal recht herzlichen Dank für die vielen Antworten. Dank Euch 
bin ich schon mal auf diese Seite gestossen http://einsteiger.myavr.de/.

Vielleicht noch ein bisschen zu meinem Hintergrund. Gelernt habe ich mal 
Radio und Fernsehtechniker. Als diese Berufsgruppe zu sterben begann, 
habe ich noch ein Technikerstudium Nachrichtentechnik nachgeschoben. 
Also bin ich eigentlich ein Analogfuzzi. Das hat sich dann auch nach dem 
Studium gezeigt, Jobs in der HF Entwicklung, Sensorik, und 
Prüffeldtätigkeit. Allerdings habe ich den Eindruck Analogelektroniker 
werden auch bald nicht gebraucht, ausser in einigen Spezialbereichen. 
Zur Zeit bin ich in einem Unternehmen welches sich mit Steuerungs- und 
Regelungstechnik beschäftigt. Alles unter Einsatz von Microcontrollern, 
eben diese STM32. Analog ist höchstens noch der Eingang vom AD Wandler. 
Gut ich muss sagen dort werde ich nicht bleiben, weil die 
Arbeitsatmosphäre sehr schlecht ist. Es sind ja auch schon 30% der Leute 
gegangen. Die Firma löst sich quasi auf.

In den Stellenanzeigen lese ich nun immer wieder, du musst Controller 
porgrammieren können, ergo mindestens eine Programmiersprache sprechen, 
meistens C++.

Privat habe ich so gut wie keine Verwendung dafür, mangels Aufgabe. Von 
"Erfahrung" mit dem was ich schon mal gemacht habe würde ich auch nicht 
sprechen, allenfalls mal reingeschnuppert würde ich sagen, und für 
einigermassen interessant gefunden.

So und nun les ich mal ein bisschen auf der Seite weiter und bestell mir 
vielleicht mal so ein Einsteigerpaket.

von Falk B. (falk)


Lesenswert?

@Jens S. (jens399)

>Regelungstechnik beschäftigt. Alles unter Einsatz von Microcontrollern,
>eben diese STM32.

Ist vielleicht nicht der optimale EInstieg, aber machbar.

>In den Stellenanzeigen lese ich nun immer wieder, du musst Controller
>porgrammieren können,

Das ist heute nahezu Standard.

> ergo mindestens eine Programmiersprache sprechen, meistens C++.

Jo, wobei C auch OK ist. Wer C++ kann, kann auch C, aber nicht 
umgekehrt, so wie ich :-(

>Privat habe ich so gut wie keine Verwendung dafür, mangels Aufgabe.

Der Appetit kommt beim Essen ;-)

>So und nun les ich mal ein bisschen auf der Seite weiter und bestell mir
>vielleicht mal so ein Einsteigerpaket.

Viel Spaß und Erfolg damit!

von Ulrich F. (Gast)


Lesenswert?

>Mikrocontrollerprogrammierung wie fang ich an?

Mit Spass!

Bei mir war die Sprache FORTH ein Quell der Erkenntnis.
Ich setze sie nicht mehr ein, aber denke wohl noch so...

von Chefentwickler (Gast)


Lesenswert?

Ein Arduino ist der beste Anfang!

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.