Franz Pucher / TINF

You are viewing an older revision! See the latest version

Mikrocontroller Programmierung

Table of Contents

  1. ARM Mbed

Mikrocontroller Programmierumgebung ist meist eine aus Soft- und Hardware bestehende Physical-Computing-Plattform. Die Hardware besteht aus einem E/A-Board mit einem Mikrocontroller und analogen und digitalen Ein- und Ausgängen. Die Entwicklungsumgebung sind sehr unterschiedlich gestaltet, von Kommandozeile über eigene Plattformen bis zur Integration in große IDEs wie z.B. Microsoft Visual Studio. Die Programmierung selbst erfolgt in einer C bzw. C++-ähnlichen Programmiersprache, wobei technische Details wie Header-Dateien vor den Anwendern weitgehend verborgen werden und umfangreiche Bibliotheken und Beispiele die Programmierung vereinfachen. Sehr viele Mikrocontroller Hersteller bieten meist auch Entwicklerboards mit entsprechender Programmierun´mgebung oder IDEs an, wobei hier zwei grundsätzliche Ansätze verwendet werden:

ARM Mbed

Die Firma ARM stellt selbst keine Prozessoren/Controller her, sondern entwickelt nur sogenannte "IP-Cores", die von Herstellern wie Atmel, Infineon, ST, NXP, TI und vielen anderen lizenziert werden (siehe ARM Cortex Mikrocontroller). Für die SW-Entwicklung stehen ein Online Simulator, ein Online Compiler und eine Desktop IDE zur Verfügung. Die Projekte können aber auch z.B. aus dem Online Compiler in unterschiedliche Entwicklungsumgebungen exportiert werden.

Das Hello World-Programm für Mikrocontroller ist typischerweise ein LED-Blink Programm und sieht meist folgendermaßen so aus wie das im Online Compiler verwendete:

#include "mbed.h"

DigitalOut myled(LED1);    //  Instanziierung des Objekts myled

int main() {
    while(1) {
        myled = 1;
        wait(0.2);
        myled = 0;
        wait(0.2);
    }
}

Oder im mbed Simulator:

#include "mbed.h"

DigitalOut led(LED1);     // Instanziierung des Objekts led

int main() {
    while (1) {
        led = !led;
        printf("Blink! LED is now %d\n", led.read());   // Zugriff auf die Methode read über den "."-Operator

        wait_ms(500);
    }
}

ARM Mikrocontroller Tutorials


All wikipages