Hallo Kann mir jemand mal einen Tip geben, wie und mit welchen Hilfsmitteln man am einfachsten und wirkungsvollsten den Umgang mit Microcontrollern lernt ???
1. Ein brauchbares µC Board (Kann ich dir grad kein Beispiel geben) 2. Bücher, am besten erstmal für C 3. Falls AVR, dann das AVR-GCC Tutorial von hier 4. Grundausrüstung: Gaaaaaanz viel Schokolade wenns nicht klappt und Gaaaaanz viel Kaffee oder ähnliches
Hallo Peter Ich habe mit dem allseits bekannten Lernpaket "MICROCONTRÖLLER" vom Francis-Verlag angefangen, und somit mit AVR-Studio 4.... Des Weiteren habe ich inzwischen ein Programmiertool AVRISP MK II. Soweit die Grundausstattung. Jetzt stellt sich für mich die Frage: Wie kann ich damit ein (wenn auch nur einfaches) Programm in einen Mikrocontroller schreiben. Villeicht mache ich as von mir aus auch nur so kompliziert???? Gruss Herbert
Herbert Schmitz schrieb: > Kann mir jemand mal einen Tip geben, wie und mit welchen Hilfsmitteln > man am einfachsten und wirkungsvollsten den Umgang mit Microcontrollern > lernt ??? Ich stand 1992 vor dieser Frage. Kaufte ein erstes gutes Buch über µC, es war das "Mikrocontroller-Kochbuch" mit dem 8051. Einen PC hatte ich noch nicht, wollte aber erstmals die µC überhaupt begreifen lernen. Der nächste Gang war in einen Laden, Schuricht in Köln, wo ich zwei Standard-8031 in NMOS kaufte. Ja, und wenn man die dann zu Hause liegen hat, dann muß man auch mal was damit machen. Erst mal baute ich reine Hardware und Programmieradapter, wo ich byteweise ein EPROM mit brennen konnte. Was für ein Aufwand! Mit dem PC kam dann mal ein Buch mit Buchdiskette ein 8051-Assembler. Mann, war das elegant. Dann kam das Mikrocontroller-Handbuch über den 8031 von Elektor. Erstmals für serielle Kommunikation mit dem PC, und ein Komplettsystem, tolle Sache. Zu diesen Zeitpunkten hatte ich noch nicht mal was mit einem Hochschulstudium zu tun. Aber was man da schon so alles machen kann! Einfach Spaß an der Freude, den Dingen. Die Hochschule war aber dann in manchen Dingen doch interessant. Heute sucht man sich IDE und Tools im Internet, und fertig ist die Kiste. Die ersten beiden 8031 sind mir in Selbstbau-Schaltungen mal abgeraucht, danach aber nie mehr was. Die alten NMOS-Typen waren für den Einstieg mal gut, mehr auch nicht. Als nächstes bestelle ich ein STM32F4DISCOVERY. Gleiche Chose wie mit meinen erstmals gekauften 8031. Ich muß dann was beginnen. Bei meinem letzten Bestellversuch vor 3 Monaten bei Watterott war es nicht lieferbar, denn sonst hätte ich es schon. Ich kann auch nur privat und per Nachnahme bestellen, nicht für gewerbliche Kunden. Erst mal brauche ich Steckbretter, schaue mal bei Reichelt. Ich hatte bis heute nie ein vernünftiges Steckbrett, immer Eigenkonstruktionen und Drahtverhaue, Lochraster.
Also ich habe mit Assembler angefange, da mir mein Vater sagte damit lernt man den Controller richtig kennen. Mit C würde man ihn zwar bedienen können aber nicht richtig verstehen. Bin ganz zufrieden bis jetzt.
Holger P. schrieb: > Also ich habe mit Assembler angefange, da mir mein Vater sagte damit > lernt man den Controller richtig kennen. Mit Assembler ist man näher an der Maschine dran. > Mit C würde man ihn zwar > bedienen können aber nicht richtig verstehen. Und mit C kann man dann komplexere Software-Konstrukte bauen. Z.B. nur rechnen. Mach mal nur eine Rechnung mit Dezimalausgabe in Assembler, dann in C.
Holger P. schrieb: > Also ich habe mit Assembler angefange, da mir mein Vater sagte damit > lernt man den Controller richtig kennen. Mit C würde man ihn zwar > bedienen können aber nicht richtig verstehen. Seh ich genauso. Aber ich geb zu, dass es da auch andere Meinungen gibt. ;-) Ich glaube aber, mit C solltest du nur dann anfangen, wenn du C bereits gut beherrschst. Falls du C noch nicht kannst, ist der Einstieg per Assembler bedeutend einfacher. Finde ich zumindest. Was auf alle Fälle sehr gut ist, ist das Tutorial hier bei mikrocontroller.net: AVR-Tutorial Das verwendet zwar den eigentlich mehrfach überholten ATmega8 als Beispiel, aber das stört beim Einstieg besonders. Wenn du damit durch bist, wirst du alle möglichen Mikrocontroller verstehen, weil die Grundsätze immer wieder die gleichen sind.
Glaub nicht, dass der atmega8 "mehrfach überholt" sei. Den erst einmal zu beherrschen ist schon genug für den Anfang und etwas Übersehbares. Man sollte doch beim Lernen vom Einfachen zum Komplizierten vorangehen. Größere Kontroller haben gleiche Struktur und bieten nur ein mehr an nur vielleicht nötigen Zusatzfunktionen : AD/DA Wandler, Schnittstellen, Speicherumfang, watchdog, Interrupts, zusätzliche 32 kHz.. C zum Beispiel kann man oft nur dann richtig durchschauen, wenn man Details wie Datentypen anhand von Assembler erklärt. Beim Umgang mit C lernt man im Laufe der Zeit sowieso zwangsweise das nach, was beim Assembler Grundkenntnis ist. Außer man schreitet gern (per copy und paste aus Bibliotheken) über den zugefrorenen See. OT. natürlich reden Viele von "überholt und "veraltet" aber das ist meistens nur der Versuch, Obsolenz herbeizuführen. Das sollt man lieber den Leuten überlassen, die die nächsten Gigabyte oder die n+1-te Programmversion verkaufen wollen
Ich habe damals mit einem 80C535 und einem passenden Buch (Assembler-Befehlssatz 8051; den Titel weiß ich gerade nicht) angefangen. Programmiert habe ich mit einem einfachen Texteditor (keine IDE) - natürlich in Assembler. Der dazu notwendige Makroassembler meiner Wahl: http://john.ccac.rwth-aachen.de:8000/as/ Mehr hatte ich zunächst nicht (ja, nur das Buch, den Texteditor und den AS; keine Hardware). Ich schrieb ein, für die damaligen Maßstäbe, recht unfangreiches Programm. Der Debugger und Simulator lief offline - auf einem Endlospapierausdruck des Quellcodes und in meinem Kopf. Ich bin jedes Kommando im Kopf durchgegangen und habe mir die Ergebnisse vorgestellt. Erst als das Programm soweit "korrekt" war, hatte ich mich an die Hardware gemacht. 80C535, EPROM, etc. Um das EProm zu brennen, baute ich mir noch einen Programmer. Dann ging es los... Programm ausprobieren... Die Ende von der Geschichte... Das Programm lief auf Anhieb fehlerfrei (zumindest sind mir nie welche aufgefallen - die Hardware lief zumindest noch 10 Jahre; es könnte auch sein, dass sie jetzt noch verwendet wird - das wären dann 30 Jahre). So lernt man programmieren.
Hallo Das waren schon mal sehr gute Hinweise. Also werde ich mir mal das AVR-Tutorial durcharbeiten, was schon einige Zeit in Anspruch nehmen wird. Dann kann ich hoffentlich damit anfangen, mit Assembler zu arbeiten. Aber nun noch eine weitere Frage: Wenn ich ein Programm in einen Mikrocontroller geschrieben habe und es sich als nicht brauchbar erwest, kann ich dann das geschriebene Programm einfach im Controller überschreiben oder muss ich das IC dann wegwerfen???? Gruss Herbert
Herbert Schmitz schrieb: > Wenn ich ein Programm in einen Mikrocontroller geschrieben habe und es > sich als nicht brauchbar erwest, kann ich dann das geschriebene Programm > einfach im Controller überschreiben oder muss ich das IC dann > wegwerfen???? Früher war das in der Tat die Frage: Entweder eine teure Bauform des Controllers mit Quarzfenster und EPROM oder eine nur einmal programmierbare Bauform im geschlossenen Gehäuse (OTP). Heutige µC mit Flash-Speicher lassen sich je nach Typ so um die 10000 ... 100000 Mal neu programmieren.
In diesem Zusammenhang könnte man noch erwähnen, das es in AVRStudio einen "Simulator" gibt. Da man darin recht schön sehen kann, welche Effekte die Befehle haben und unter welchen Bedingungen sie arbeiten und da Du am Anfang, vermutlich ohnehin eine Menge nicht ganz funktionierenden Code schreiben wirst empfehle ich Dir ihn zu benutzen. Zwar hat er so seine Grenzen und auch Fehler, aber dennoch sparst Du Dir eine Menge Zeit und auch von den 100.000 Programmierzyklen einiges. Später kannst Du Dir noch Hapsim anschauen, wenn Du Peripherie simulieren willst.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.