mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik wie lerne ich zu programmieren


Autor: nini395 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin absoluter Neuling und interessiere mich für das programmieren 
von Mikrocontrollern. Ich hab jetzt schon einige Zeit damit verbracht 
mich nach Büchern und Toturials über dieses Thema umzusehen, leider ohne 
Erfolg!

Kann mir bitte jemand ein par Tipps geben wie man am schnellsten sich 
das Programmieren in Basic oder c aneignet?

Danke im voraus!!

Autor: Floh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

Durcharbeiten.
Nicht lesen, sondern Material besorgen und loslegen, Schritt für 
Schritt.
:-)

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: nini395 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, für die rasche Antwort!

Ich muss leider zugeben das ich mich mir das schon öfter durchgelesen 
habe und bin anschließend aus lauter Verzweiflung zu conrad gedüst und 
hab mir so ein C-Control Teil gekauft! Leider finde ich nirgendwo eine 
einfache Erklärungen wie man den schnellen Einstieg schaft. Kennst du 
ein brauchbares Buch oder irgendwas in dieser Richtung?
Wie war das bei dir? wie hast du den begonnen?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Leider finde ich nirgendwo eine
>einfache Erklärungen wie man den schnellen Einstieg schaft.

Es gibt keinen schnellen Einstieg. Programmieren lernen
bedeutet erst mal Frust und Leiden lernen;)

Autor: Floh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spontansuche (2 min):
http://www.c-control.de/literatur/literatur/literatur.html
Was für ein C-Control du hast, musst du selbst wissen :-)

Autor: piffpaff (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin,

das einfachste ist du gehst auf:

http://www.programmersbase.net/Content/Java/Conten...

Okay da du aber in C programmieren möchtest, sollte es schon eher ein C 
Buch sein, oder C++. Du könntest auch einfach mal mit Google nach C/C++ 
oder ähnlichem suchen, wenn du ein Skript von einer Uni findest könntest 
du auch das lesen.


Beste Grüße

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Es gibt keinen schnellen Einstieg. Programmieren lernen
>bedeutet erst mal Frust und Leiden lernen;)

Richtig. Blood, Sweat and Tears.

MfG Spess

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vor allem lernt man die ganzen Grundlagen zw. Programmieren
am PC deutlich einfacher und weniger frustrierend als auf
einem MC.

Meine dringende Empfehlung ist, erst C zu lernen und dann auf
einen MC loszugehen.
Auch da ist das Frustpotential noch groß genug für den
durchschnittlichen Masochisten.

Autor: Markus Müller (mmvisual)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kauf Dir irgend ein Buch über C Programmierung. Darin wird die C Syntrax 
erklärt.
Ich habe eines für DOS, obwohl ich nie für DOS programmiert habe, hat es 
mir sehr geholfen.

Wenn man mal verstanden hat wie ein if, while for, case und die Klammern 
sowie Operatoren funktionieren, dann kann man weiter gehen.

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schnelle Erfolge erziehlst du mit den Arduino Boards. Kosten ca 35 .-€.
Komplette C - ähnliche Entwicklungsumgebung ist dabei.
Und viele Programmbeispiele.

http://at.rs-online.com/web/search/searchBrowseAct...

Schöne Grüße Josef

Autor: Michael Roek (mexman) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und damit's nicht so einsam ist, gibt's Kurse an jeder besseren 
Volkshochschule.

Gruss

Michael

Autor: High Performer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Komplette C - ähnliche Entwicklungsumgebung ist dabei.

Was bitte ist eine "C-ähnliche Entwicklungsumgebung"? Das Eine hat doch 
mit dem Anderen nichts zu tun.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Kauf Dir irgend ein Buch über C Programmierung. Darin wird die C Syntrax
>erklärt.
>Ich habe eines für DOS, obwohl ich nie für DOS programmiert habe, hat es
>mir sehr geholfen.

Ja, die alten Handbücher für TurboC oder BorlandC waren schon
recht gut.

Autor: hacker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich zitiere mal Eric S. Raymond:
>Ich kann keine genaue und komplette Beschreibung angeben, wie man lernt zu
>programmieren - dazu ist diese Fähigkeit zu komplex. Aber ich kann dir
>sagen, daß du mit Büchern und Kursen nicht sehr weit kommen wirst (viele,
>vielleicht die meisten  Hacker haben sich alles selbst beigebracht). Was du
>tun mußt, ist (a) Programm-Code lesen und (b) Programm-Code schreiben.
>
>Programmieren lernen ist, wie in einer natürlichen Sprache gut schreiben zu
>lernen. Der beste Weg ist Code zu lesen, der von Meistern der
>Programmierung geschrieben wurde, und dann etwas selber zu schreiben,
>wieder jede Menge zu lesen und ein bißchen zu schreiben, wieder lesen und
>diesmal mehr zu schreiben... und dies alles so lange zu wiederholen, bis du
>beginnst Stärken und Effizienz in deinen Arbeiten zu entwickeln.

Quelle: 
http://koeln.ccc.de/prozesse/writing/artikel/hacke...

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Schnelle Erfolge erziehlst du mit den Arduino Boards.

Das sagen die BASCOM-Spezies auch immer. Aber schnell ist selten 
nachhaltig.

MfG Spess

Autor: Silvan König (silvan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf C-Control reagieren die meisten hier allergisch. (Wundert mich, dass 
noch niemand was gesagt hat)
Ich hoffe du hast noch nicht viel Geld für den Kram ausgegeben.

Ich hab so angefangen: ich hab in einer Zeitschrift was vom "Arduino" 
gelesen. Ich fand das so interessant, dass ich mir so ein Teil unbedingt 
zulegen wollte. Ich hab leider in meiner Nähe keinen Laden gefunden, der 
das Teil führt. Auch eBay und Conrad hatten keine.
Dann hab ich im Internet (auf der Arduino Seite) einen Schaltplan für 
einen minimal-Arduino gefunden. Also, hab ich mir gedacht, bauste dir 
den halt selber. Teile gekauft (die führt Conrad) und bei eBay einen ISP 
gekauft, damit ich den Bootloader flashen kann. Dann bin ich durch 
Zufall (ich weiß nicht mehr wie genau) auf dieses Forum und das 
AVR-GCC-Tutorial gestoßen.
Und: Uups! Den Arduino und den Bootloader braucht man gar nicht! Mit dem 
ISP kann man die Programme auch so auf den Controller übertragen.

Fazit: Bring Conrad den Kram zurück und kauf dir stattdessen die Teile, 
die im AVR-Tutorial bzw. AVR-GCC-Tutorial genannt sind.

Autor: nini395 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank Leute, für die zahlreichen Inputs! Werd mich mal am Pc 
durcharbeiten!
 Danke, lg nini

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lieber ein schnelles "Hello World" als mit Eprom-Emulator und Assembler
einen 8051 nach 2 Jahren zum Blinken zu bringen. Dazwischen liegen viele
teure Bücher und viel Geld für Hardware. Nur so ein Gedanke aus der 
Praxis...


SG Josef

Autor: Egal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Basic war immer am schönsten: if dir so ist then goto else    :D

Autor: Maxx (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich bin kein großer Freund dieser Empfehlungen.

Die Syntax und Gefrickel lernt man auf diese Weise. Trial und Error, 
aber wie schon gesagt ist das Frustpotential recht groß.

Donald Knuth hat mal gesagt, Programmieren sei eine Kunst. So viel er 
richtig gemacht hat - da hat er sich gründlich getäuscht. Programmieren 
ist ein Handwerk. Handwerk erlernt man von denen, die es bereits ausüben 
und gemeistert haben. Viel viel Frust lässt sich vermeiden in dem man 
diese Erfahrung und vor allem die Hintergründe kennen lernt.

Such dir einen Kurs, geh mal als Gasthörer in die nächste Uni (Oftmals 
werden solche Vorlesungen aufgezeichnet und können per Video auch Abends 
nach der arbeit angeschaut werden ohne vor Ort zu sein, schau dich in 
der VHS nach nem Kurs um. Wenn du noch zur Schule gehst, gibts 
vielleicht eine AG. Oder schau dich nach einem kleinen 
OpenSource-Projekt bei dem du mitwirken möchtest und kannst und lass 
dich "an die Hand nehmen".

Aber keine Frage. Das entsprechende Buch zur Sprache gehört als Referenz 
auch dazu.

Autor: Ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kauf dir ein Buch für C-Programmierung und programmier einen PC. Wenn du 
die C-Syntax richtig drin hast, kannst du auf Mikrocontroller umsteigen 
(evtl. dann auch in Assembler).

Autor: Josef (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Was bitte ist eine "C-ähnliche Entwicklungsumgebung"? Das Eine hat doch
>mit dem Anderen nichts zu tun.

Selbst anschauen. Lust einen Mega328 als Anfänger zu konfigurieren ?



SG Josef

Autor: C-Tut (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.tutorials.at/c/c-oder-cplusplus.html

Zuerst "allgemein" C lernen, dann auf uC umsteigen ;)

Autor: Markus Müller (mmvisual)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Kauf dir ein Buch für C-Programmierung und programmier einen PC.

Einen PC würde ich nicht proggen, das Windows ist viel zu 
wiederspenstig.

Lade lieber MPLAB von Microchip.com herunter, damit kannst Du 
programmieren kennen lernen, denn dort ist ein Simulator eingebaut und 
Du kannst so das Ergebnis ohne Hardware debuggen.
Gleichzeitig ist das dennoch Prozessornah.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Donald Knuth hat mal gesagt, Programmieren sei eine Kunst. So viel er
>richtig gemacht hat - da hat er sich gründlich getäuscht. Programmieren
>ist ein Handwerk. Handwerk erlernt man von denen, die es bereits ausüben
>und gemeistert haben.

Er hat schon Recht. Allerdings muss man das Handwerk beherrschen, bevor 
es zur Kunst wird.

MfG Spess

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Würde gar nicht mehr anfangen zu programmieren. Einerseits ist es die 
schönste Tätigkeit der Welt. Andererseits die Frustierenste.


Markus

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weder noch.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Als Einstieg würde ich heute auch immer noch Basic empfehlen, oder halt 
für uC BASCOM. JAAA, das ist recht gut und hat für seine Zwecke wenige 
Macken und viel Leistung. Und man muss sich am Anfang nicht um jedes 
nervige Detail kümmern!

Aber wie bereits mehrfach gesagt, als ABSOLUTER Anfänger braucht man 
erstmal ein gutes Grundlagenbuch, das vom Urschleim alles Schritt für 
Schritt erklärt. Zahlensysteme, ASCII, logische Operationen, If then, 
etc.

MFG
Falk

Autor: -schumi- (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi :-)

Also "schnell" ist irgendwie ein falscher Ansatz...

Angefangen habe ich mit dem Tutorial "Programmieren für Oma". Alles ist 
wirklich sehr verständlich und übersichtilich erklärt, ich wurde richtig 
"süchtig"^^
http://www.o-bizz.de/qbtuts/omastut/index.htm

Allerdings wird dort erst der C64 (simuliert) programmiert, und zwar in 
BASIC. Dann gehts weiter nach QBasic und QuickBasic unter DOS und Win. 
Wenn dir Basic dann gut gefällt kannst du auch noch FreeBASIC (meine 
Lieblingssprache ;-) ) benutzen, zumindest für den Computer.

Dann hättest du zumindest schon mal die grundsätzliche Denkweise intus. 
C als erste Sprache zu lernen ist glaub ich schon ein bischen heftig, 
weil man eben alle Befehle wissen muss um zu wissen was das Programm wo 
macht. In Basic reichen Englisch Grundkenntnisse im Prinzip aus.

Wenns soweit funzt kannst du auf C(++) aufspringen, aber spätestens hier 
ist ein Buch notwendig.

MfG
-schumi-

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>C als erste Sprache zu lernen ist glaub ich schon ein bischen heftig,
>weil man eben alle Befehle wissen muss um zu wissen was das Programm wo
>macht.

>In Basic reichen Englisch Grundkenntnisse im Prinzip aus.

Klar. Die Registernamen von einem Controller und die Basic-Befehle 
findest du in jedem Englisch-Wörterbuch erläutert.

MfG Spess

Autor: Silvan König (silvan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Markus Müller schrieb:
> Einen PC würde ich nicht proggen, das Windows ist viel zu
> wiederspenstig.

Er soll ja auch nur die Grundlagen lernen und keine Treiber oder so 
programmieren.

Ich persönlich hab mit einem kleinen C-Buch angefangen (ca. 100 Seiten). 
Da steht für den Anfang genug drin. Mit dem Wissen kannst du dann schon 
mit dem AVR-GCC-Tutorial anfangen. Vorrausgesetzt du findest Gefallen an 
der Sprache wirst du mit den 100 Seiten aber nicht weit kommen. Dann 
hilft nur noch eines: Du brauchst ein RICHTIGES Buch (ich hab eins mit 
über 1100 Seiten). Das ist zwar nicht speziell für Mikrocontroller 
(keine Ahnung, ob es sowas überhaupt gibt), aber mit den ganzen 
Anleitungen hier und einem bisschen Verstand kommst du auch mit den 
Dingern gut klar.

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Jetzt lerne ich C!" ist ein gutes Buch.


SG Markus

: Wiederhergestellt durch Admin
Autor: Lukas Simma (lsimma)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

mein Sohn (17) muss bald auch einen µC programmieren.

Derzeit erlernt er die C Programmiergrundlagen (variablen, typen, 
bedingung, schleifen...) auf dem PC (Linux, Windows oder MAC ist egal).

Dazu macht er im Selbststudium das C Howto durch welches hier zu finden 
ist:
http://www.c-howto.de
Er ist derzeit bei break und continue der schleifen und es macht im 
Spass denn so nebenbei ergeben die Beispiele einen (virtuellen) 
Getränkeautomaten ab.

Erst wenn er das Tutorial durch hat und somit die C-Grundlagen versteht, 
dann darf er an den µC. Erst dann soll er sich mit den Eigenarten von 
Controllern herumschlagen.... wie zb. verstehen und configurieren von 
Peripherie Register, umständlicheres Debuggen und Testen usw...

Beste Grüße,
Lukas

Autor: Marc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Donald Knuth hat mal gesagt, Programmieren sei eine Kunst. So viel er
>richtig gemacht hat - da hat er sich gründlich getäuscht.
Kunst kommt von Können. Zugebenermaßen ist das für die heutige Kunst 
nicht immer gegeben.

> Programmieren ist ein Handwerk. Handwerk erlernt man von denen,
> die es bereits ausüben und gemeistert haben.
So ist es bei der Kunst auch: zuerst lernt man das Handwerk, d.h. die 
Maltechniken um ein Bild zu malen. Wenn man diese perfekt beherscht, 
dann kommt die eigentliche Kunst. Dann kann der Künstler kreativ sein 
und mit seiner perfekten Technik seine Gedanken in Bilder fassen und die 
Formen variieren.
Insofern hast Du teilweise recht: Beim Programmieren sollte man zuerst 
das Handwerk lernen, wenn man dieses beherrscht, kommt die Kunst.

Autor: Marc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier ein kleines Beispiel für Programmierkunst:
http://www.linusakesson.net/files/lft_craft_src.tar.gz

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Josef schrieb:
> Lieber ein schnelles "Hello World" als mit Eprom-Emulator und Assembler
Ja, knallharte Toolchain...
> einen 8051 nach 2 Jahren zum Blinken zu bringen.
Ich habe nie einen 8051 zum Blinken gebracht. Das beste, was ich an 
optischen Effekten erreicht habe, was ein wenig magischer Rauch... :-o
Fürs Blinken mussten immer externe Komponenten herhalten... ;-)

@ nini395 (Gast)
> interessiere mich für das programmieren von Mikrocontrollern.
Du hast 2 Aufgaben:
1. Programmieren lernen (auf dem PC --> Vorteil: weit verbreitet).
2. uC kennenlernen und das unter Punkt 1. Gelernte daran umsetzen.
Wenn du beides auf einmal willst, dann solltest du dich auf eine steile 
Lernrampe einstellen. Denn wenn was nicht tut, weißt du nicht, ob das 
nicht zufällig eine Einschränkung des Sprachumfangs der 
Programmiersprache wegen dieses uCs ist.
Und wenn du dann beide Aufgaben bewältig hast, dann bereitet es dir auch 
nicht mehr soooo große Probleme, wenn du mal deine uC-Schaltung an 
deinen PC ankoppeln willst. Denn du kennst dann ja beide Plattformen...

Autor: oldmax (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi
Wieso wird bei einem µC immr nur auf die Programmiersprache geschaut?
C hier, Basic da und obendrauf Assembler. Habt ihr vergessen, wofür 
Controller da sind? Natürlich ist es schon wichtig, mit Programmierung 
zu arbeiten, aber genau so wichtig ist es, die Grundlagen Elektrotechnik 
und obendrauf Elektronik intus zu haben. Ein Experimentierfeld zu kaufen 
ist das Eine, die andere Seite, damit umzugehen, zu verstehen wofür 
Freilaufdioden oder Vorwiderstände bei LED's, warum LCD mit 
Wechselspannung betrieben werden und und und...
"Ich möchte gern µC pogrammieren.... "
warum ? Weil's cool ist ?
Es ist Arbeit. Viel Arbeit. Und wenn's Spaß machen soll und auch zu was 
nutze, dann hast du einen weiten Weg vor dir. Ganz wichtig: ein Ziel vor 
Augen. Etwas was du haben willst. Auch wenn's etwas hoch gesteckt ist, 
wenn du dich da durch kämpfst, lernst du mehr, als wenn du zig Bücher 
durcharbeitest.
Lies die Tutorials, sie sind schon ganz gut. Eventuell findest du bei 
der "Konkurenz" auch Anleitungen. Schau in die Foren der Roboterfans und 
der Elektronikfreaks. Dort bekommst du Ideen zu Projekten und 
Hintergrundwissen. Teure Bücher, das ist meine Erfahrung,, sind oft nur 
Abklatsch von Datenblättern. Ich habe mal drei Anläufe gebraucht, bis 
ich ein Buch in der Hand hatte, was wirklich weiter half. Und alle 
Bücher lagen damals bei knapp 100 DM.
Mein Vorschlag: Wenn du eine Idee für ein Projekt hast, besorg dir die 
Teile zur Arbeit mit Controllern und versuche mit den Inhalten der hier 
und anderswo stehenden Tutorials anzufangen. Frage, wenn du Probleme mit 
einer Umsetzung hast, wenn du nirgends Info's findest.
Auch wenn ich mich wiederhole: mit µC arbeitet man nicht, weil's cool 
ist, sondern weil man etwas haben will, was entweder teuer oder nicht zu 
kaufen ist oder nicht den Ansprüchen genügt.
Beispiel: Die Steuerung einer alten Eisenbahnanlage, nix digitales oder 
einer Carrera Bahn mit Runden und Zeiterfassung. Jetzt sagt nicht: "Das 
gibt's doch schon".
Klar gibt's das, aber das wären Projekte, die nie fertig werden (Weil's 
immer wieder neue Ideen gibt ) und enormes Lehrpotential haben. Nicht 
nur bei Programmierung, auch in der Hardware.
Gruß oldmax

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.