Meine Programme

Klasse TwoLeds mit einem Konstruktor fur

Klasse TwoLeds mit einem Konstruktor für zwei Leds

Beispiel1

http://ec2-52-211-146-247.eu-west-1.compute.amazonaws.com:7829/#user_1529343442497

#include "mbed.h"

/********Beispiel 1*********************
ledOn()       // beide Leds einschalten
ledOff()      // beide Leds ausschalten
ledX()        // beide Leds gegengleich schalten
printStatus() // Anzeigen ob Leds ein oder aus
******************************/

      
/**********Beispiel 2***********************
 * //lauflicht() 
    D1  D2  D3  D4
    -   -   -   -       Ein Durchgang dauert 2 sec
    X   -   -   -
    -   X   -   - 
    -   -   X   -
    -   -   -   X
    -   -   -   -       X=ON  - = off
*********************************/

/***********Beispiel 3**********************
 * //lauflichtbalken()
    D1  D2  D3  D4
    -   -   -   -       Ein Durchgang dauert 2 sec
    X   -   -   -
    X   X   -   - 
    X   X   X   -
    X   X   X   X
    -   -   -   -
    X   X   X   X         X=ON  - = off
**********************************/

class TwoLeds
{
    public:
        TwoLeds(PinName pin, PinName pin2 ) : _pin(pin) , _pin2(pin2) // initialisierungsliste ( muss gleich heissen wie der Konstruktor )
        {
            _pin=0;                     // initalisierung mit 0
            _pin2=0;
        }
        
    void ledOn(void)
    {
    _pin=1;
    _pin2=1;
    }

    void ledOff(void)
    {
        _pin=0;
        _pin2=0;
    }
    void ledX(void)
    {
        if (_pin.read() == 1) 
        {
            _pin= 0;
            _pin2 =1;
        }
        else
        {
            
        _pin= 1;
        _pin2= 0;
        }
    }
    
    void printStatus(void)
    {
     printf("Status Read:\nLED1 is now %d\nLED2 is now %d\n\n", _pin.read(), _pin2.read()); 
    // printf("Read LED is now %d\n", _pin2.read()); 
    }
    private:
        DigitalOut _pin; // _steht im Namen für privat, am Anfang oder am ende
        DigitalOut _pin2; 
};


TwoLeds twoleds(LED1, LED2);
//DigitalOut led(LED1);
/* MyLed myled1(LED1);
MyLed myled2(LED2);     // Instanzierung des Objects
MyLed myled3(LED3);
MyLed myled4(LED4);
MyLed myled5(p5);
*/



int main()
{
    while (1) 
    {
    
    
    
    for ( int i=0; i<3; i++)
    {
    twoleds.ledOn();       // beide Leds einschalten
    twoleds.printStatus(); // Anzeigen ob Leds ein oder aus
    wait_ms(2000);
    twoleds.ledOff();      // beide Leds ausschalten
    twoleds.printStatus(); // Anzeigen ob Leds ein oder aus
    wait_ms(2000);
    }
    for ( int i=0; i<5; i++)
    {
    twoleds.ledX();        // beide Leds gegengleich schalten
    twoleds.printStatus(); // Anzeigen ob Leds ein oder aus
    wait_ms(2000);
        
    }
    
    
    }
}


All wikipages