Ich versuche, mich mit Mikrocontrollern zu beschäftigen, aber wie Sie sich vielleicht denken können, ist die Auswahl des ersten Mikrocontrollers für den Anfang aufgrund der vielen großartigen Möglichkeiten eine schwierige Aufgabe.
Ich habe Elektronik (sowohl analog als auch digital) und Computerorganisation studiert und lese gerade ein Buch über Computerarchitektur.
Gibt es einen besseren Weg, mein Verständnis zu festigen, als einen echten Mikrocontroller zur Hand zu haben? Ich war versucht, Arduino wegen seiner Popularität und seiner angeblichen Einfachheit zu bekommen. Aber genau wie beim Programmieren in etwas wie C# und nicht unbedingt zu wissen, was hinter den Kulissen passiert, bin ich besorgt, dass ich es mit Arduino nur wie C# verwenden werde, ohne zu verstehen, wie die Architektur funktioniert, was ich mir erhoffe lernen.
Kurz gesagt, liege ich mit meinen obigen Einschätzungen des Arduino falsch? Und wie vergleicht sich der Arduino in Bezug auf das Verständnis der Funktionsweise eingebetteter Systeme mit anderen Mikrocontrollern der PIC- und AVR-Familien.
Danke
Es sei denn, Sie haben ein extrem knappes Budget (wie das Sparen von Taschengeld), dann würde ich die Entscheidung, was ich zuerst ausprobieren soll, nicht zu sehr ins Schwitzen bringen. Wählen Sie einfach eine aus und erwarten Sie, dass Sie nach dem Start andere ausprobieren werden.
IMHO kann man mit einem Arduino als erste Wahl nicht wirklich etwas falsch machen:
Es ist also unwahrscheinlich, dass Sie an der ersten Hürde scheitern und daraufhin desillusioniert und frustriert sind.
Machen Sie sich nicht zu viele Sorgen darüber, in einer Black Box stecken zu bleiben , die Sie daran hindert, tiefere Ebenen zu lernen. Aber es liegt an Ihnen, über die Grundlagen hinauszugehen, z. B.:
Der einzige Nachteil, den ich mir vorstellen kann, wenn ich mit einem Arduino anfange, ist, dass ich gelegentlich abfällige Bemerkungen und Trolling von Real™ Engineers erleiden muss! So ähnlich wie Programmierer, die zugeben, dass ihre Muttersprache BASIC war;-)
Wenn Sie ein Arduino Uno oder ein ähnliches Board erhalten, können Sie die Tatsache völlig ignorieren, dass Sie die Arduino IDE verwenden können, um es zu programmieren, und Sie können Ihren gesamten eigenen Code in Atmel Studio schreiben und sogar die Arduino-Core-Bibliotheken darin importieren, wenn Sie möchten .
Das Gute an Arduino ist, dass Sie nicht die Low-Level-Sachen lernen müssen, wie z. B. das Aktivieren von Interrupts und das Festlegen von Masken für Timer-Register usw. Es "funktioniert" einfach.
Dies hilft Noobs, loszulegen und Dinge schnell zu erledigen.
Wenn Sie den richtigen Weg von Anfang an lernen möchten, gehen Sie direkt zu Atmel Studio mit einem AVR-Entwicklungsboard (oder verwenden Sie ein Arduino-Board, ignorieren Sie einfach die IDE) und lernen Sie von Beispielen und lesen Sie das Datenblatt für den Atmel AVR ATMEGA328P.
Wenn Sie Mikrocontroller programmieren möchten, müssen Sie (falls Sie es noch nicht wissen) 'C' und möglicherweise eine Assemblersprache lernen.
Arduino ist gut, wenn Sie nur etwas zum Laufen bringen wollen (dh gerade genug Programmieren verdienen möchten, um die Arbeit zu erledigen), was in Ordnung ist. Die Sprache, die Arduino verwendet, ist C-ähnlich, hat aber eine Reihe vorgefertigter Routinen, sodass Sie nicht wissen müssen, was unter der Haube vor sich geht.
Wenn es um Kontrolle und tieferes Verständnis geht, besorgen Sie sich ein Mikrocontroller-Entwicklungskit (entweder vom Hersteller oder von digikey). In der Regel können Sie dies für 30-50 USD oder weniger erhalten.
Informationen zum Erlernen von Embedded C finden Sie in den folgenden Büchern: Embedded C , Test Driven Development for Embedded Systems und Embedded Systems
Beginnen Sie mit dem Versuch, ein Problem zu lösen. Ich habe Bücher durchgeblättert und mich gelangweilt und nicht so viel behalten wie beim Versuch, ein Problem zu lösen. Viel Glück und hab Spaß!
Majenko
Medwatt
Majenko
MarkU
sheild
bedeutet Plug-in-Board,sketch
bedeutet Firmware-Programm.processing
undwiring
sind Namen einiger ihrer Bibliotheken. Undfritzing
ist ein Steckbrettschaltplan, der oft als schlechter Ersatz für einen echten Schaltplan verwendet wird. Aber abgesehen von den seltsamen Namen ist es ein leistungsfähiges Entwicklungstool. Und da es Open Source ist, können Sie in den Quellcode eintauchen und sehen, wie die Dinge unter der Decke funktionieren.Majenko
processing
ist der Name der IDE, die sie gestohlen haben, undwiring
der Name der API, die sie gestohlen haben.Benutzer17592