Oliver Ainhirn
/
Pucher_Bsp_4
beispiel4
main.cpp@0:de7cee1dd21b, 2019-02-04 (annotated)
- Committer:
- corsa1600
- Date:
- Mon Feb 04 16:52:14 2019 +0000
- Revision:
- 0:de7cee1dd21b
beispiel4
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
corsa1600 | 0:de7cee1dd21b | 1 | #include "mbed.h" |
corsa1600 | 0:de7cee1dd21b | 2 | |
corsa1600 | 0:de7cee1dd21b | 3 | // Instanziierung mit: |
corsa1600 | 0:de7cee1dd21b | 4 | /* |
corsa1600 | 0:de7cee1dd21b | 5 | HexLeds hexleds(LED1, LED2, LED3, LED4); |
corsa1600 | 0:de7cee1dd21b | 6 | |
corsa1600 | 0:de7cee1dd21b | 7 | // Aufruf der Methoden |
corsa1600 | 0:de7cee1dd21b | 8 | main() { |
corsa1600 | 0:de7cee1dd21b | 9 | hexleds.eingabe() // einlesen eines Integer-Wertes von der Tastatur mit scanf("%d", &ein); |
corsa1600 | 0:de7cee1dd21b | 10 | hexleds.ausgabe() // ausgeben des Integer-Wertes der von der Tastatur eingegeben wurde |
corsa1600 | 0:de7cee1dd21b | 11 | hexleds.hexOut() // Ausgabe des Wertes in Hex-Darstellung an den 4 Leds |
corsa1600 | 0:de7cee1dd21b | 12 | hexleds.printStatus() // Anzeigen ob Leds ein oder aus |
corsa1600 | 0:de7cee1dd21b | 13 | } |
corsa1600 | 0:de7cee1dd21b | 14 | */ |
corsa1600 | 0:de7cee1dd21b | 15 | |
corsa1600 | 0:de7cee1dd21b | 16 | |
corsa1600 | 0:de7cee1dd21b | 17 | class HexLeds |
corsa1600 | 0:de7cee1dd21b | 18 | { |
corsa1600 | 0:de7cee1dd21b | 19 | private: |
corsa1600 | 0:de7cee1dd21b | 20 | BusOut _ledbus; |
corsa1600 | 0:de7cee1dd21b | 21 | DigitalOut _pin0; |
corsa1600 | 0:de7cee1dd21b | 22 | DigitalOut _pin1; |
corsa1600 | 0:de7cee1dd21b | 23 | DigitalOut _pin2; |
corsa1600 | 0:de7cee1dd21b | 24 | DigitalOut _pin3; |
corsa1600 | 0:de7cee1dd21b | 25 | int _eingabe; |
corsa1600 | 0:de7cee1dd21b | 26 | |
corsa1600 | 0:de7cee1dd21b | 27 | public: |
corsa1600 | 0:de7cee1dd21b | 28 | HexLeds(PinName pin0, PinName pin1, PinName pin2, PinName pin3): |
corsa1600 | 0:de7cee1dd21b | 29 | _pin0(pin0), |
corsa1600 | 0:de7cee1dd21b | 30 | _pin1(pin1), |
corsa1600 | 0:de7cee1dd21b | 31 | _pin2(pin2), |
corsa1600 | 0:de7cee1dd21b | 32 | _pin3(pin3), |
corsa1600 | 0:de7cee1dd21b | 33 | _ledbus(pin0,pin1,pin2,pin3) |
corsa1600 | 0:de7cee1dd21b | 34 | |
corsa1600 | 0:de7cee1dd21b | 35 | { |
corsa1600 | 0:de7cee1dd21b | 36 | _pin0=0; |
corsa1600 | 0:de7cee1dd21b | 37 | _pin1=0; |
corsa1600 | 0:de7cee1dd21b | 38 | _pin2=0; |
corsa1600 | 0:de7cee1dd21b | 39 | _pin3=0; |
corsa1600 | 0:de7cee1dd21b | 40 | _ledbus = 0; |
corsa1600 | 0:de7cee1dd21b | 41 | } |
corsa1600 | 0:de7cee1dd21b | 42 | |
corsa1600 | 0:de7cee1dd21b | 43 | void eingabe(void) |
corsa1600 | 0:de7cee1dd21b | 44 | { |
corsa1600 | 0:de7cee1dd21b | 45 | bool was = false; |
corsa1600 | 0:de7cee1dd21b | 46 | |
corsa1600 | 0:de7cee1dd21b | 47 | while(was == false) |
corsa1600 | 0:de7cee1dd21b | 48 | { |
corsa1600 | 0:de7cee1dd21b | 49 | scanf("%d", &_eingabe); |
corsa1600 | 0:de7cee1dd21b | 50 | if (_eingabe < 16) |
corsa1600 | 0:de7cee1dd21b | 51 | was = true; |
corsa1600 | 0:de7cee1dd21b | 52 | } |
corsa1600 | 0:de7cee1dd21b | 53 | } |
corsa1600 | 0:de7cee1dd21b | 54 | void ausgabe(void) |
corsa1600 | 0:de7cee1dd21b | 55 | { |
corsa1600 | 0:de7cee1dd21b | 56 | printf("Der Dezimalwert: %d - Der Hexadezimalwert: 0x%X \n", _eingabe, _eingabe); |
corsa1600 | 0:de7cee1dd21b | 57 | } |
corsa1600 | 0:de7cee1dd21b | 58 | void hexOut(void) |
corsa1600 | 0:de7cee1dd21b | 59 | { |
corsa1600 | 0:de7cee1dd21b | 60 | _ledbus = _eingabe; |
corsa1600 | 0:de7cee1dd21b | 61 | } |
corsa1600 | 0:de7cee1dd21b | 62 | void printStatus(void) |
corsa1600 | 0:de7cee1dd21b | 63 | { // zum Auslesen entweder (*_pin0).read() oder _pin1->read() |
corsa1600 | 0:de7cee1dd21b | 64 | printf("LED1: %d - LED2: %d - LED3: %d - LED4: %d \n", _pin0.read(), _pin1.read(), _pin2.read(), _pin3.read()); |
corsa1600 | 0:de7cee1dd21b | 65 | } |
corsa1600 | 0:de7cee1dd21b | 66 | |
corsa1600 | 0:de7cee1dd21b | 67 | |
corsa1600 | 0:de7cee1dd21b | 68 | |
corsa1600 | 0:de7cee1dd21b | 69 | }; |
corsa1600 | 0:de7cee1dd21b | 70 | |
corsa1600 | 0:de7cee1dd21b | 71 | HexLeds hexleds(LED1,LED2,LED3,LED4); |
corsa1600 | 0:de7cee1dd21b | 72 | |
corsa1600 | 0:de7cee1dd21b | 73 | //LaufLichtBalken lauflichtbalken(LED1, LED2, LED3, LED4); |
corsa1600 | 0:de7cee1dd21b | 74 | //DigitalOut led(LED1); |
corsa1600 | 0:de7cee1dd21b | 75 | /* MyLed myled1(LED1); |
corsa1600 | 0:de7cee1dd21b | 76 | MyLed myled2(LED2); // Instanzierung des Objects |
corsa1600 | 0:de7cee1dd21b | 77 | MyLed myled3(LED3); |
corsa1600 | 0:de7cee1dd21b | 78 | MyLed myled4(LED4); |
corsa1600 | 0:de7cee1dd21b | 79 | MyLed myled5(p5); |
corsa1600 | 0:de7cee1dd21b | 80 | */ |
corsa1600 | 0:de7cee1dd21b | 81 | |
corsa1600 | 0:de7cee1dd21b | 82 | |
corsa1600 | 0:de7cee1dd21b | 83 | |
corsa1600 | 0:de7cee1dd21b | 84 | int main() |
corsa1600 | 0:de7cee1dd21b | 85 | { |
corsa1600 | 0:de7cee1dd21b | 86 | |
corsa1600 | 0:de7cee1dd21b | 87 | hexleds.eingabe(); // einlesen eines Integer-Wertes von der Tastatur mit scanf("%d", &ein); |
corsa1600 | 0:de7cee1dd21b | 88 | hexleds.ausgabe(); // ausgeben des Integer-Wertes der von der Tastatur eingegeben wurde |
corsa1600 | 0:de7cee1dd21b | 89 | hexleds.hexOut(); // Ausgabe des Wertes in Hex-Darstellung an den 4 Leds |
corsa1600 | 0:de7cee1dd21b | 90 | hexleds.printStatus(); // Anzeigen ob Leds ein oder aus |
corsa1600 | 0:de7cee1dd21b | 91 | |
corsa1600 | 0:de7cee1dd21b | 92 | } |
corsa1600 | 0:de7cee1dd21b | 93 | |
corsa1600 | 0:de7cee1dd21b | 94 |