Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
You are viewing an older revision! See the latest version
C++ Seite
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.
mbed Library Internals - Software Layers and APIs
Beva.cpp
Beva in Mbed-Simulator
Aufgabe:
Schreiben Sie einen einfachen objektorientierten Integerrechner nach dem obigen Beva-Prinzip.
Lektion 0: Blinky-Klassenerzeugung eines neuen Datentyps
Lektion 1: DigitalOut-Klasse
- Blinky im Simulator
- Klasse Blinky im Simulator
- HasA versus IsA-Vererbung
- Blinky OOP mit Zeiger (Beschreibung) und im Simulator
- Fragen C++
- Aufgabe BusOut++
Lektion 2: PWM-Klasse
- Klasse PWM für RGB-Led
- Aufgabe PWM-Vererbung
- AddOn: Software 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.
- Lösung: Event Klasse
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.
- Lösung: Serial Event Klasse
State Machine Implementierung¶
- UML Zustandsdiagram von UML@Classroom; Zustandsdiagramm (Statechart Diagram)
- Zustandsdiagramm (Coding Style) mit Zuständen und Zustandsübergängen.
- STM-Implementierung mit Klassen