TINF_TwoLEDsX

Dependencies:   mbed 2Leds

Committer:
martwerl
Date:
Mon Jun 18 14:10:34 2018 +0000
Revision:
0:6222193a31e0
Child:
1:cc9fba0cbda0
TINF_TwoLEDsX

Who changed what in which revision?

UserRevisionLine numberNew contents of line
martwerl 0:6222193a31e0 1 #include "mbed.h"
martwerl 0:6222193a31e0 2
martwerl 0:6222193a31e0 3
martwerl 0:6222193a31e0 4 class TwoLeds {
martwerl 0:6222193a31e0 5 public:
martwerl 0:6222193a31e0 6 TwoLeds(PinName pin1, PinName pin2) : _pin1(pin1), _pin2(pin2) // Initialisierungsliste
martwerl 0:6222193a31e0 7 {
martwerl 0:6222193a31e0 8 _pin1 = 0; // Initialisierung mit 0
martwerl 0:6222193a31e0 9 _pin2 = 0;
martwerl 0:6222193a31e0 10 }
martwerl 0:6222193a31e0 11
martwerl 0:6222193a31e0 12 void ledOn(void)
martwerl 0:6222193a31e0 13 {
martwerl 0:6222193a31e0 14 _pin1 = 1;
martwerl 0:6222193a31e0 15 _pin2 = 1;
martwerl 0:6222193a31e0 16 }
martwerl 0:6222193a31e0 17
martwerl 0:6222193a31e0 18 void ledOff(void)
martwerl 0:6222193a31e0 19 {
martwerl 0:6222193a31e0 20 _pin1 = 0;
martwerl 0:6222193a31e0 21 _pin2 = 0;
martwerl 0:6222193a31e0 22 }
martwerl 0:6222193a31e0 23
martwerl 0:6222193a31e0 24 void ledX() //LEDs blinken alternierend
martwerl 0:6222193a31e0 25 {
martwerl 0:6222193a31e0 26 if( _pin1 == 0 && _pin2 == 0)
martwerl 0:6222193a31e0 27 {
martwerl 0:6222193a31e0 28 _pin1 = 1;
martwerl 0:6222193a31e0 29 _pin2 = 0;
martwerl 0:6222193a31e0 30 }
martwerl 0:6222193a31e0 31 else if(_pin1 == 1 && _pin2 == 0)
martwerl 0:6222193a31e0 32 {
martwerl 0:6222193a31e0 33 _pin1 = 0;
martwerl 0:6222193a31e0 34 _pin2 = 1;
martwerl 0:6222193a31e0 35 }
martwerl 0:6222193a31e0 36 else if(_pin1 == 0 && _pin2 == 1)
martwerl 0:6222193a31e0 37 {
martwerl 0:6222193a31e0 38 _pin1 = 1;
martwerl 0:6222193a31e0 39 _pin2 = 0;
martwerl 0:6222193a31e0 40 }
martwerl 0:6222193a31e0 41
martwerl 0:6222193a31e0 42 }
martwerl 0:6222193a31e0 43
martwerl 0:6222193a31e0 44 void printStatus(void)
martwerl 0:6222193a31e0 45 {
martwerl 0:6222193a31e0 46 printf("LED1 is now: %d\n", _pin1.read());
martwerl 0:6222193a31e0 47 printf("LED2 is now: %d\n", _pin2.read());
martwerl 0:6222193a31e0 48 }
martwerl 0:6222193a31e0 49
martwerl 0:6222193a31e0 50 private:
martwerl 0:6222193a31e0 51 DigitalOut _pin1;
martwerl 0:6222193a31e0 52 DigitalOut _pin2;
martwerl 0:6222193a31e0 53
martwerl 0:6222193a31e0 54 };
martwerl 0:6222193a31e0 55
martwerl 0:6222193a31e0 56
martwerl 0:6222193a31e0 57 DigitalOut led(LED1);
martwerl 0:6222193a31e0 58
martwerl 0:6222193a31e0 59 TwoLeds twoleds(LED1, LED2);
martwerl 0:6222193a31e0 60
martwerl 0:6222193a31e0 61 int main()
martwerl 0:6222193a31e0 62 {
martwerl 0:6222193a31e0 63 while (1)
martwerl 0:6222193a31e0 64 {
martwerl 0:6222193a31e0 65 /*twoleds.ledOn();
martwerl 0:6222193a31e0 66 twoleds.printStatus();
martwerl 0:6222193a31e0 67 wait_ms(500);
martwerl 0:6222193a31e0 68 twoleds.ledOff();
martwerl 0:6222193a31e0 69 twoleds.printStatus();
martwerl 0:6222193a31e0 70 wait_ms(500); */
martwerl 0:6222193a31e0 71 twoleds.ledX();
martwerl 0:6222193a31e0 72 twoleds.printStatus();
martwerl 0:6222193a31e0 73 wait_ms(500);
martwerl 0:6222193a31e0 74 }
martwerl 0:6222193a31e0 75 }