Franz Pucher / HIM0Board

FSST - Hardwarenahe Programmierung

C++ Seite

Inhalt

Objektorientierte hardwarenahe Programmierung

Klassen in C++

Membervariable, Methoden, Konstruktor, Statische Member, Zugriffsspezifizierer
MBED SDK Coding Style/neu in OS5 Style Guide und C++ Coding Style.


Lektion 1: DigitalOut-Klasse


Lektion 2: PWM-Klasse


Lektion 3: I2C und Temperatursensor LM75B

Aufgabe I2C-Sensoren

Suchen Sie für unterschiedliche Sensoren (wie z.B.: BMP180, AS3935, MCP4725, PCA9555, MPU-6000, ...) Datenblätter und Klassenimplementierungen. Untersuchen Sie die Programmierweise der Klassen (Konstante: Adressen, Register, private und öffentliche Elemente der Klasse, Methoden und ihre Implementierung, ...). Sofern möglich testen Sie die Klassenbibliothek in einem Testprojekt/-programm im MBED-Compiler. Veröffentlichen Sie die bearbeiteten Sensoren (mindestens drei) auf Ihrer MBED-Homepage mit einer kurzen Beschreibung und dem Link zur Klassenbibliothek. Veröffentlichen Sie Ihr Testprojekt.

Ereignisse


Lektion 4: Interrupt/Event-Klasse

Aufgabe ISR

Schreiben Sie eine Klasse SwEvent in der Sie ähnlich der DigitalIn-Klasse einen InterruptIn-Pin _isr (von z.B. sw1 P0_10) übergeben können und eine ISR-Routine hinzufügen (rise) in der Sie ein Flag setzen, wenn der Taster gedrückt wurde, das mit der Methode checkFlag() abgefragt und gelöscht werden soll.


Lektion 5: Serial-RX Interrupt-Klasse

Aufgabe Serial

Schreiben Sie eine Klasse SerialEvent in der Sie ähnlich der I2C-Klassen TX- und RX-Pins übergeben können und einem DataReceive-Interrupt eine ISR-Routine hinzufügen (attach) und ein Flag setzen, wenn ein Zeichen empfangen wurde, das mit der Methode checkFlag() wieder abgefragt und gelöscht werden soll.

State Machine Implementierung