Software
Compiler¶
Aufbau Compiler (Integrierte Entwicklungs Umgebung - IDE)¶
- Links: "Program Workspace" mit meinen Programmen
- Mitte: "Workspace Management" - Import von Programmen, Libraries, Editoren von Sourcecode etc.
- Rechts: "Workspace Detail" Zusatzinformationen wie: Angemeldeter User, Lokal Veränderte Dateien, Speicherbedarf Programm, Links zu Library Details
- Unten: Fehlermeldungen, Suchresultate, Hinweise zu Änderungen in Libraries etc.
Haupttoolleiste¶
- New: Neues Programm erstellen
- Import: Import bestehender Programme / Libraries
- Save und Save All: Aktuelle oder alle Editoreninhalte speichern
- Compile: Übersetzen eines Programmes in die Maschinensprache
- Commit/Revision: Sourcecontrolsystem Methoden (wird in Aufbau 1 Behandelt)
- Undo/Redo: Rückgängig / Zurückstellen
- Feldstecher: Suchen
- Zauberstab: Sourcecode formatieren
- Drucker: Drucken
- Help: Hilfe anzeigen, schliessen mittel x rechts oben
- Board: Aktuell ausgewähltes Board
Tastaturkürzel (Shortcuts)¶
- Ctrl + Linke Maustaste oder Doppelklick auf Wort Hilfe zum aktuellen Objekte/Methode
- Ctrl + D oder F9 Compilieren und Download
- Ctrl + X Kopieren und ausschneiden
- Ctrl + C Kopieren
- Ctrl + V Einfügen
- Ctrl + Shift + F Code (alles oder Selektion) formatieren
Alternativen¶
mbed OS¶

Mit dem mbed Betriebssystem (OS) Version 3 entsteht eine Full-Stack-Plattform (Durchgängig, Umfassend), mit Hardware Abstraktion, Konnektivität, Sicherheit Power-Management etc. Weitere Informationen: mbed OS.
Programmiersprache¶
Das mbed OS ist in der Programmiersprache C und C++ geschrieben bzw. verwendet dessen Libraries.
Beispiele:
DigitalOut led1( D10 ); // Instanzieren eines Objektes mit dem Namen led1 anhand der Klasse DigitalOut, als Pin (Daten) wird D10 übergeben.
DigitalOut led2( D11 ); // Gleiche Klasse (DigitalOut), neues Objekt, neuer Name (led2) und andere Daten (D11)
led1.write( 1 ); // Aufruf der Methode write mit Wert 1, welches die LED zum Leuchten bringt.
led2.write( 0 );
// Kurzform
led1 = 1;
led2 = 0;
AnalogIn light( A0 ); // Instanzieren eines Objektes mit dem Namen light anhand der Klasse AnalogIn, als Pin (Daten) wird A0 übergeben
light.read(); // Auslesen des aktuellen Analogen Wertes an Pin A0, mittels der Methode read()
Motor motor1( D3, D2, D4 ); // Instanzieren Motor Objekt
motor1.speed( 0.5 ); // Setzen der Geschwindigkeit des Motors
Programmaufbau¶
Folgender Aufbau hat sich für embedded Systeme bewährt
// Import Libraries
// Definition der verwendeten Objekte.
// Funktionen welche von Hauptprogramm aufgerufen werden.
// Hauptprogramm
int main()
{
// Initialisierungen von Variablen und Feintuning von Objekten.
// Endlosschleife
while ( 1 )
{
// Anweisungen welche Endlos durchgeführt werden
}
}
Es kann immer nur ein Programm ins Board geladen werden bzw. aktiv sein!
Beispiel: bringt die erste LED auf dem Shield zum Blinken.
// Import mbed Library
#include "mbed.h"
DigitalOut led( D10 );
int main()
{
while(1)
{
led.write( 0 );
wait(0.8);
led.write( 1 );
wait(1.0);
}
}
Das Hauptprogramm wird, in der Regel, in der main.cpp Datei gespeichert
Import programDigitalOut
Mittels DigitalOut kann eine Positive Spannung an einem Pin erzeugt werden.
Zusammenfassung¶
- Ein Objekt bildet, in der Regel, Dinge der Realen Welt ab, z.B. Auto, Kontaktstift (GPIO Pin), Sensor, Aktor.
- Ein Objekt kapselt Methoden (Verhalten) und Attribute (Daten)
- Objekte werden in Klassen definiert
- Ein oder mehrere Klassen werden in Programmbibliotheken (Libraries) zusammenfasst
- Für Sensoren und Aktoren existieren eine Vielzahl von Programmbibliotheken. Diese sind unter Components zusammengefasst.
- Die '''main''' Funktion repräsentiert das Hauptprogramm.
- http://mbed.org mbed ist Plattform und Betriebssystem für Internet-verbundene Geräte auf Basis von 32-Bit- ARM Cortex-M -Mikrocontroller. Solche Geräte werden auch als Internet der Dinge Geräte bezeichnet.
Online Bücher / Tutorials zu C / C++¶
- C++ Programmierung (WikiBooks)
- C++ Tutorial (english)
