Franz Pucher
/
BlinkyOOP
Initialisierungsliste und Adressoperator & Warning!
Inhalt HIM0Board
BlinkyOOP Beschreibung
Diff: main.cpp
- Revision:
- 0:97100177022d
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon Nov 30 10:24:56 2015 +0000 @@ -0,0 +1,58 @@ +#include "mbed.h" +/* +DigitalOut myled(LED1); + +int main() { + while(1) { + myled = 1; + wait(0.2); + myled = 0; + wait(0.2); + } +} +*/ +class MyLed { + DigitalOut *led1; +// wissen noch nicht auf welchen pin verbunden wird, daher nur ein Zeiger - +// im Konstruktor wird Objekt erzeugt + + MyLed(); +// auf Standardkonstruktor kann von aussen nicht zugegriffen werden, da private + +// Parametrisierter Konstruktor - selber Name wie Klasse – +// als Parameter übernimmt dieser einen pin Namen +public: +// NEU: Initialisierungsliste und Adressoperator & + MyLed(PinName ld1) : led1(&DigitalOut(ld1)){ // WARNING: Taking the address of a temporary in "main.cpp" + }; +// Konstruktor mit new-Operator +// MyLed(PinName ld1) +// { +// led1 = new DigitalOut(ld1, 0); // erzeuge neues DigitalOut Objekt led1 mit pin ld1 und Initialisierungswert 0 +// }; + +// Methoden zum Ein-/Ausschalten der LED + void LedOn() + { +// Aufruf der Methode write() in Klasse DigitalOut über den Zeiger led1 + led1->write(1); + } + void LedOff() + { + led1->write(0); + } +}; + +int main() +{ +// erzeugen einer Variablen myLed1 der Klasse MyLed mit pin Name als Parameter + MyLed myLed1(LED1); + + while(1) + { + myLed1.LedOn(); // Aufruf der Memeberfunktion (Methode) LedOn() + wait(0.2); + myLed1.LedOff(); + wait(0.2); + } +} \ No newline at end of file