FSST - Hardwarenahe Programmierung

You are viewing an older revision! See the latest version

Blinky OOP

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:
    MyLed(PinName ld1)
    {
// erzeuge neues DigitalOut Objekt led1 mit pin ld1 und Initialisierungswert 0

        led1 = new DigitalOut(ld1, 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);
	}  
}     

All wikipages