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)