julian Roll
/
M0_Blinky_OOP
JA paner
Diff: main.cpp
- Revision:
- 0:e2682c264053
diff -r 000000000000 -r e2682c264053 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon Dec 14 15:57:55 2015 +0000 @@ -0,0 +1,50 @@ +#include "mbed.h" + +class MyLed +{ +private: +DigitalOut *led1; //Adresser des eigentlichen zieles - auf eine Klasse DigitalOut - erzeugen +BusOut *Busled; +MyLed(); //Standardkonstruktor, auf den von außen nicht zugegriffen werden kann + + + + +public: +//Parametrisierten konstruktor - selber Name wie Klasse - mit einem Pin Namen als Parameter +MyLed(PinName ld1) :led1(&DigitalOut(ld1)) +{ + //erzeugt ein neues Digitalout Objekt led1 mit Pin ld1 + led1 = new DigitalOut(ld1); +}; + +MyLed(PinName p1, PinName p2, PinName p3, PinName p4, PinName p5, PinName p6, PinName p7, PinName p8) : Busled(&BusOut(p1, p2, p3, p4, p5, p6, p7, p8)){ +}; +//Methoden oder Memberfunktion +void LedOn(uint8_t a) +{ +//Aufruf der Methode write() in der klasse DigitalOut --> üer den Zeiger led1 +//(*led1).write(1); +Busled->write(a); +} +void LedOff(uint8_t a) +{ +Busled->write(0); +} +}; + +//DigitalOut myled(P1_8); + +int main() { + MyLed myLedBus(P1_0, P1_1, P1_3, P1_4, P1_6, P1_7, P1_12, P1_13); + int i = 0; + + while(1) + { + myLedBus.LedOn(i++); + wait(0.2); + myLedBus.LedOff(i++); + wait(0.2); + } + +}