Frage

Welche Familie soll ich anfangen zu lernen? (Nie hat jede Programmierung auf Mikrocontroller)

War es hilfreich?

Lösung

Heute AVR und PIC sind wahrscheinlich die am häufigsten verwendeten Mikrocontroller unter Hobbyisten. Beide haben eine sehr große Auswahl an Gerätevarianten und beide verwendet werden können, um ähnliche Ergebnisse zu erzielen.

Für einen Anfänger würde ich vorschlagen AVR aus verschiedenen Gründen:

  • AVR-Familie (winziger, mega) ist kohärent und leicht zu verstehen. Die Architektur ist leistungsstark und modern, und ist besonders geeignet für C-Compiler. AVRs kann natürlich auch in der Montage programmiert werden.

  • Aufgrund seiner C-freundliche Architektur gibt Qualität C-Compiler sind beide verfügbar, kommerzielle und frei. Die allgegenwärtige GCC wird AVR portiert und genannt avr-gcc .

  • Für den Einstieg alles, was Sie wirklich brauchen eine Handvoll von Grundkomponenten ist, sich der AVR-Chip und ein Steckbrett . Auch das Programmierkabel zwischen PC und AVR kann im Wesentlichen kostenlos (ein so genannten Wiggler) gebaut werden. mehrere kommerzielle Entwicklungs-Kits sind jedoch verfügbar, vor allem Atmels eigenen STK500 . Ein kommerzieller Entwicklungs-Kit ist teurer Weg für den Einstieg, aber erfordert nicht praktisch jedes Vorwissen über Elektronik. Einige Development Kits enthalten zum Beispiel LCD-Displays so ist es einfach, interessante Dinge zu erledigen.

  • Es hat eine reiche Bastler Gemeinschaft .

PIC ist berüchtigt für seine besondere Architektur. Viel Liebe PIC dafür, manche hassen es. AVR ist einfacher und scheint nicht so viel extreme und polare Meinungen zu verursachen.

Sowohl AVR und PIC sind in vielen ernsten kommerziellen Anwendungen eingesetzt. Sie sind jedoch nicht die einzigen Optionen natürlich. Mein persönlicher Favorit Mikrocontroller sowohl für Hobbys und kommerzielle Arbeit ist Familie von Silicon Laboratories C8051, insbesondere C8051 F530 . Es gibt einen ausgezeichneten freien C-Compiler und Assembler für die C8051-Familie namens SDCC .

Zusammenfassung: Es gibt viele Möglichkeiten, aber bitte lassen Sie sich nicht, dass Sie überwältigen. Wählen Sie einfach ein und beginnen mit ihm zu lernen. Mikrocontroller ist, wirklich überraschend einfach zu meistern, wenn Sie gerade dabei entscheiden zu bekommen!

Andere Tipps

gepflückt Mein Chef die Grundlagen nach oben mit AVR innerhalb einer Woche ohne vorherige Erfahrung.

Ich würde AVR vorschlagen. Es hat sich weit PIC als Mikrocontroller-Plattform der Wahl für allgemeine Bastler Projekte übertroffen. Vor allem betrachtet die Arduino (und andere * duino) Plattform, die ein High-End-AVR in einem einfachen Faktor Schnittstelle und beliebte Form zur Verfügung stellt.

ich sehr viel lieber den AVR über PIC, deren Architektur ich ein bisschen chaotisch zu finden. Dies kann nur ich sein, und es wird Mühe, die Sie nicht, wenn Sie in einer Hochsprache, am wahrscheinlichsten (einiger Dialekt) C schreiben können.

Da Sie Mikrocontroller neu sind nehme ich an Leistung wird nicht das Problem sein, so stattdessen würde ich nach Verfügbarkeit von Entwicklungstools: Prototyping-Boards, IDE und Simulation / Debugging-Tools. Ich persönlich mochte AVR Studio (Atmels freie Entwicklungsumgebung) eine ganze Menge.

Jason erwähnt die TIs MSP430, die in der Tat ein ausgezeichneter Controller ist, vor allem wenn man in sehr geringen Stromanwendungen sind. Aber ich würde es nicht für einen Neuling empfehlen, da Konfiguration ein wenig umständlich ist. (Ich erinnere mich, dass die Beschreibung des Oszillators 20+ Seiten in der Bedienungsanleitung behandelt.)

Einige Leute kommentierte die seltsam (und C unfreundlich) Architektur des PIC micro. Dies gilt für die kleineren PICs, aber die 16-Bit-Chips (PIC24F, dsPIC30, usw.) haben sehr klare Architekturen, die sehr gut mit C arbeiten.

Die PIC24F Linie hat die Fähigkeit, Stifte Funktionen zuweisen (Timer, A / D, serielle I / O) on the fly, es ein bisschen leichter zu machen mit zu gestalten. Die MPLAB Umgebung für die Fehlersuche und Entwicklung ist recht schön.

Ich habe einige PIC-Programmierung getan - vor allem, weil ich mochte die Idee der Chip nur ein oder zwei Dollar waren. Doch für einen Anfänger, eine Entscheidung ausschließlich auf den Preis machen, ist eine vorzeitige Optimierung.

Programmierung in Assembler ist ein Erlebnis. Sie haben grundsätzlich über 100 Konzepte lernen, bevor Sie eine LED blinken können. (Watchdog-Timer, Reset-Pins, 8-Bit-Zähler / surverses, Verzögerungsschleifen, hex, binär, Bit-Maskierung, Interrupts, Interrupt-Service-Anfragen, IO-Ports, etc.) Es ist alles sehr lehrreich - und ein tolles Gefühl, so nahe zu kommen an der Maschine - aber einige dieser Komplexität wird verstecken, so dass Sie auf die Ergebnisse in der Lage, etwas in C zu kodieren, konzentrieren. Aus diesem Grunde würde ich mit dem AVR gehen sagen. (Und ich glaube, die Preise sind jetzt näher an PICs).

Also: Wenn Sie daran getan Dinge interessiert sind (und nicht dagegen Ausgaben ~ $ 30) Besuche die arduino . Ein Mann sich bei meinem lokalen Elektronik-Shop verkauft sagt er Tonnen von ihnen an Kunststudenten zu verkaufen. (Es verwendet die IDE von dem Processing-Projekt, und kompiliert Code mit avr-gcc).

Update: Fester Kommentar, der Arduino-Code interpretiert läuft. Auch die ca. Arduino Preis aktualisiert.

Ich verstehe nicht, was die große Sache mit Arduino ist, wird es Ihre Chance, jemals Verständnis ruinieren, was tatsächlich geschieht. I-Programm mit AVR und PIC regelmäßig, im Grunde gibt es nicht viel Unterschied, ich kann nicht sehen, was die große Aufregung geht. Aber für einen Anfänger von Arduino wegbleiben, es einfach sein kann, aber das ist die Falle, es gibt Ihnen kein Konzept der Hardware-Architektur, und keine Ahnung, was hinter den Kulissen geschieht, müssen die Sachen Anfänger lernen, ein effektiver Programmierer zu sein. Als ich noch ein Anfänger war, fing ich einen $ 20 USBasp Programmierer mit einem ATmega32 aus, AVR Studio (Free) und avrdude (Komm mit WinAVR) und folgte die Intro-Tutorials in AVR Freaks. Das ist alles, was Sie brauchen, Fertig !!!

P. S. Wenn Sie wirklich wissen wollen, wie Mikros zu programmieren und haben die Zeit, um den Assembler für Ihr Mikro lernt und werden Sie 20-mal der C-Programmierer sein als jemand, der Arduino mit begann.

Meine Stimme geht für die extreme Vielfalt von Geräten availables PIC. Aber ich muss sagen, dass, als ich anfing PICs zu verwenden, sie war fast nichts anderes. Vielleicht werden jetzt die Dinge geändert.

ich für TIs MSP430 Serie. Ich PICs habe ausführlich (ein wenig auch Atmel Chips) verwendet und bei weitem die wichtigste Sache ist für mich eine gute Debugging IDE. TI hat einen ziemlich guten Job auf das getan, und ihr C ++ Compiler funktioniert wirklich gut. Sie können mit einem Evalboard für weniger als $ 100 mit einem IDE + USB-Debugger erhalten würden. Die PICs haben bessere und vielfältigere Hardware-Peripherie, aber MPLAB ist ein Stück Scheiße und die einzige C ++ IDE für PICs ist ein von IAR, die ziemlich teuer ist. (Mehr als $ 2K)

ich / wir wählten meist PIC, weil es mehr Peripherie-Hardware für den gleichen Preis. Und was noch wichtiger ist, können Sie nicht einmal vergleichbar AVRs finden. Ich habe eine der alten kostenlosen Versionen wählen, obwohl (begann mit PIC18, zu dsPIC33 migriert)

Die IDE sind frei, die (C) Compiler in der Studentenversion ist kostenlos (die Optimierung nach dem ersten Monat deaktiviert). Entry-Level-Programmierer sind ziemlich billig. Wenn Sie Haufen von Interrupts, Zähler und Timer haben, gibt es eine Chance, dass Sie nicht Optimierung überhaupt benötigen. Ein Programmierer gerade von Microchip ist $ 30.

Beachten Sie, dass die obigen Bemerkungen über AVR Catering mehr HLL Entwicklung etwas veraltet sind, wenn Sie gehen für die Legacy-Architekturen wie PIC12 und 16 wirklich.

Ein typisches Programm der modernere PIC18 (8-Bit) und die 16-Bit-Architekturen (24F, 30F und dsPIC33, die auf dem gleichen Prinzip Kern basieren) in C. Der 16-Bitters sogar GCC verwenden. Es gibt auch MIPS basierten 32-Bitters jetzt, aber sie mehr mit ARM in der Audio / Video-Verarbeitung Szene konkurrieren. Merkwürdigerweise sind die modernen oft billiger als die alten. Wahrscheinlich werden sie in einem moderneren Verfahren hergestellt auf die höhere Erträge hat.

Noch ein Hinweis:. Mittlerweile Microchip / PIC gekauft Atmel / AVR, aber ich nehme an, dass in den ersten Jahren, die nicht viel, um die Produktlinien beeinflussen

Ich bin sehr gespannt auf den 60MIPs Ethernet-Suche aktiviert 16-bitter, dass in diesem Sommer freigegeben wird (afaik streetprice knapp über 10 EUR)

Wenn Sie wollen einfach nur wissen, was MCU-Programmierung ist, von Arduino beginnen ist eine gute Idee. Es ist billig, mit einem Anfänger-freundliche IDE (basierend auf der Verarbeitung Programmiersprache, die eine ähnliche Syntax mit C hat).

Aber dies nicht Ihre quesiton beantworten, beacuse altough Arduino auf AVR basiert, können Sie keine AVR MCU hinter diesen modernen IDE fühlen ist. :)

Ich hatte viel Erfolg mit PIC, während ich gerade erst begonnen. Ich habe versucht, einen einfachen Starter-Kit von Arduino zu bekommen und konnte einfach nicht eine gute Basis-Kit erhalten, ohne mehr als $ 100-200 Nickel zu verbringen und das Setup zusammen diming. Haben Sie einen großen kleinen Starter-Kit von PIC für etwa $ 40 und es hat alles: IDE, Programmierer, Starter-Board mit für Demos und Tutorials in einer Schaltung aufgebaut. Ein Kauf. Außerdem war die PIC-Umgebung sehr leicht, sich einzurichten und zu arbeiten. Ich war mit ihm innerhalb einer Stunde zu spielen.

Meine erste Erfahrung mit Mikrocontrollern war mit einer OOPic-R . Das hat mir erlaubt einfache Roboter-Experimente zu machen, ohne zu viel über den Code besorgniserregend. Die objektorientierte Programmierung Fluss macht schnell alles funktioniert und ist einfach zu programmieren.

Vor kurzem habe ich versucht, eine andere Reihe von PIC, der Schmutz billig PICAXE . Die im Lieferumfang enthaltene Programmierschnittstelle ist ein Kinderspiel mit zu arbeiten. Auch physisch die PICAXE-Schnittstelle, die Sie benötigen nur einen RS-232-Anschluss und es zwei Pins auf dem Chip zu programmieren (keine Notwendigkeit Pegelverschiebung zu tun). Ich habe die PICAXE in sehr kleinen Behältern eingebettet (SMD und DIP-Chips verfügbar) und es hat ganz gut funktioniert.

Ich habe keine Erfahrung mit der Programmierung Mikrocontroller in der Montage. Wenn Sie das versuchen wollen, könnte der AVR geeignet sein, weil es größere User-Community ist.

Soweit ich weiß, der billigste Weg, einen AVR mit ATMEL-Tool zu programmieren, wird die Atmel AVR ISP mkII für $ 35. Sie können Drittanbieter-Programmierer für $ 10-15 finden.

würde ich meine Wahl, je nach Verfügbarkeit eines C Cross-Compiler. In der Vergangenheit, das wäre die Wahl AVR. Ich bin mir nicht sicher, was der Status ist jetzt.

Ich habe einen PIC in Assembler programmiert, und es war nicht viel Spaß. C ist viel schöner in vielerlei Hinsicht.

Auf den besten Features von AVR ist die Gemeinschaft in den Foren bei www.avrfreaks.net. Sie erhalten eine Reihe von erfahrenen Elektroniker hängen, bereit Neulingen zu helfen, in Gang zu bringen.

Ich würde sagen, dass ich die 8051-Mikrocontroller fount die einfachste und Atmel hat mit Mikrocontrollern mit so vielen eingebauten Funktionen kommen .... aber immer noch Menschen mehr verwenden vorzugsweise die AVR ... meine Hand mit der gehen würden 8051-Familie (wenn bequem gefunden) sonst die AVR ...

I AVR lieben. sein einfach zu programmieren und Ressourcen zur Verfügung. es gibt nur wenige Gemeinschaft wie Arduino Arbeiten mit ihm.

Einige mehr dicussion über die Überlegenheit von AVR, auf der anderen Stack-Überlauf: http://embeddedgurus.com/stack-overflow/2009/04 / pic-Stack-Überlauf /

  

Die Popularität von 8-Bit-PICs verwirrt mich. Es ist Architektur ist schrecklich -   der begrenzte Call-Stack ist nur die erste schreckliche Sache. Werfen Sie in der   müssen für Paging und Bank zusammen mit dem einzigen Interruptvektor   und Sie haben einen Alptraum eines Programmiermodell. Es wäre eine Sache   wenn dies die Norm für die 8-Bit-Geräte - ist es aber nicht. der AVR   Architektur bläst die PIC entfernt, während die HC05 / HC08 sind auch   Straßen vor dem PIC. Angesichts der Wahl, die ich denke, dass ich auch eine nehmen würde   8051 über den PIC. Ich sehe keine Kostenvorteile, Verpackung   Vorteile (Atmel hat soeben eine SOT23-6 AVR, die im wesentlichen   Befehlssatz kompatibel mit ihren größten Geräten) oder peripherer   Set Vorteile. Kurz gesagt, kann ich es nicht! Übrigens ist dies nicht ein   Anklage von Microchip - sie sind ein großartiges Unternehmen und ich wie ein wirklich   viele ihrer anderen Produkte, ihre Website, technischen Support und so weiter   (Vielleicht ist dies, warum die PIC ist so weit verbreitet?)

begann ich auf einem Motorola M68HC11, es war einfach genug. Ich denke, Sie werden über die gleiche Erfahrung mit irgendwelchen 8Bit-Controller erhalten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top