![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
TINF_TwoLEDsX
Diff: main.cpp
- Revision:
- 0:6222193a31e0
- Child:
- 1:cc9fba0cbda0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Mon Jun 18 14:10:34 2018 +0000 @@ -0,0 +1,75 @@ +#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); + } +} \ No newline at end of file