TINF_TwoLEDsX

Dependencies:   mbed 2Leds

main.cpp

Committer:
martwerl
Date:
2018-06-18
Revision:
0:6222193a31e0
Child:
1:cc9fba0cbda0

File content as of revision 0:6222193a31e0:

#include "mbed.h"
 
 
class TwoLeds {
public:
    TwoLeds(PinName pin1, PinName pin2) : _pin1(pin1), _pin2(pin2) // Initialisierungsliste
{     
    _pin1 = 0; // Initialisierung mit 0
    _pin2 = 0;
}
 
void ledOn(void) 
{
    _pin1 = 1;
    _pin2 = 1;
}
 
void ledOff(void) 
{
    _pin1 = 0;
    _pin2 = 0;
}
 
void ledX() //LEDs blinken alternierend
{
    if( _pin1 == 0 && _pin2 == 0)
    {
        _pin1 = 1;
        _pin2 = 0;
    }
    else if(_pin1 == 1 && _pin2 == 0)
    {
        _pin1 = 0;
        _pin2 = 1;
    }
    else if(_pin1 == 0 && _pin2 == 1)
    {
        _pin1 = 1;
        _pin2 = 0;
    }
 
}
 
void printStatus(void) 
{
    printf("LED1 is now: %d\n", _pin1.read());
    printf("LED2 is now: %d\n", _pin2.read());
}
    
private:
    DigitalOut _pin1;
    DigitalOut _pin2;
    
};
 
 
DigitalOut led(LED1);
 
TwoLeds twoleds(LED1, LED2);
 
int main() 
{
    while (1) 
    {
        /*twoleds.ledOn();             
        twoleds.printStatus();
        wait_ms(500);
        twoleds.ledOff();            
        twoleds.printStatus();
        wait_ms(500); */
        twoleds.ledX();
        twoleds.printStatus();
        wait_ms(500);
    }
}