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!!
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?
>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;)
Moin,
das einfachste ist du gehst auf:
http://www.programmersbase.net/Content/Java/Content/Tutorial/Java.htm
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
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.
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.
>Komplette C - ähnliche Entwicklungsumgebung ist dabei.
Was bitte ist eine "C-ähnliche Entwicklungsumgebung"? Das Eine hat doch
mit dem Anderen nichts zu tun.
>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.
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/hacker-howto-esr.xml
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.
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
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.
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).
>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
>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.
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
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
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-
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
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.
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
>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.
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...
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