Dann mal von vorn:
Du benötigst ja zunächst eine Plattform.
Du kannst dich heute zwischen unzählichen Plattformen und Architekturen entscheiden.
Meine persönlichen Favoriten der Mikrocontroller sind:
8 bit
- die
AVR-Familie von Atmel: einfach zu handhabende und schnell erlernbare Architektur, viele Entwicklungsmöglichkeiten (Programmer von einigen Euro bis mehrere hundert Euro), eine tolle IDE (Atmel Studio) und viele Ressourcen im Internet. Kann auch in Form eines Arduinos eingesetzt werden, auch wenn ich persönlich den Arduino-Hype nicht teile. Prozessoren sind relativ günstig, aber für ihre Rechenleistung sehr teuer. Typische Vertreter ATmega88PA (kein ATmega8 mehr, ist veraltet), ATmega328P, ATXmegaxxx (teuer, aber leistungsfähiger). Taktraten bis 32MHz
8 bis 16 Bit
- PIC-Serien von Microchip. Kannste nach gucken, ich würde sie aber nicht empfehlen. Das liegt nicht daran, dass sie schlecht sind, sondern dass ich arbeitsbedingt nur wenig damit zu tun hatte, obwohl sie grade für Regelungstechnik und Stellglieder gut geeignet sind (hochauflödende PWM und Brückenhardware).
16 Bit
- MSP430er-Serie von Texas Instruments. Etwas schwieriger zu programmieren, auf den ersten Blick deutlich weniger Ressourcen und die IDEs kosten in der Regel Geld, solange sie nicht eingeschränkt sein sollen. Keil, VisualGDB und vor allem das CS Studio von TI sind dafür gedacht, letzteres sind uneingeschränkt nutzbar, können bezahlt aber mehr. Bausteine sind relativ günstig und benötigen i.d.R. sehr wenig Energie (Ultra low power). Vertreter völlig zuufällig z.B. der MSP430G2553. Es gibt z.B. das
Launchpad von TI für unter 10€, welches ein paar Mikrocontroller, eine Basisplatine und vor allem einen integrierten In-System-Debugger mitbringt. Das ist alles Welten günstiger als alles, was Atmel zu bieten hat. Taktraten bis zu einigen zehn MHz (20MHz)
Link auf das Launchpad
32 Bit ARM
- STM32 von STMicroelectronics. Unschlagbar günstige ARM-Prozessoren, die man als richtige Arbeitstiere gebrauchen kann, aber die gut zu programmieren sind.
Die können aber auch gleich tausendmal mehr als so ein kleiner AVR oder MSP430 und verbrauchen in der -L-Serien unglaublich wenig Strom. IDEs sind auch i.d.R. kostenpflichtig, da wären z.B. Keil, Atollic oder auch VisualGDB, den ich persönlich nutze. Umfangreiche Peripherie aber bei weitem nicht so viele Ressourcen wie für AVRs. Taktraten bis mehrere hundert MHz und auch mit mehreren Kernen nutzbar. Für den Einstieg würde ich das STM32F407-Discovery empfehlen, was man schon für 15€ kaufen kann. Es hat unglaublich viel IO, viel Peripherie, Beschleunigungssensoren, LEDs, etc. und vor allem einen integrierten ST-Link-Programmer und -In-System-Debugger. Damit kann man professionell für ein paar Kröten direkt anfangen.
Link auf das STM32F4-Disco
- gibt wahnsinnig viele andere ARMs mit gewissen Vorzügen, ob Preis, Energieverbrauch oder Peripherie-Ausstattung. Hersteller sind vor allem NXP mit den neuen Dualcore-ARMs oder auch TI, Atmel oder Infineon.
---
Programmieren kann man alle in normalem C, C++ oder bei den großen auch unter einem Linux mit allem anderen, z.B. Python.
Ich würde C++ empfehlen (obwohl man auf einige Sprachmöglichkeiten bei den kleinen verzichten sollte, weil die es gar nicht können oder weil es keinen Sinn ergibt (dynamische Speicherverwaltung, Exceptions, Standardbibliothek und Container etc.).
Ich würde ANSI-C empfehlen oder direkt mit C++11 beginnen, dann hat man auch lange was davon, das sind Allerweltssprachen, mit denen du auch auf dem Raspi was anfangen kannst.
BASCOM AVR ist zwar einfacher, aber zu speziell, als dass es dir übergeordnet noch etwas bringen würde.
C/C++ können alle genannten Controller und für alle gibts auch den GCC kostenlos als Compiler.
_________________
[ Diese Nachricht wurde geändert von: DonComi am 12 Apr 2015 22:33 ]