beispiel4

Dependencies:   mbed

Committer:
corsa1600
Date:
Mon Feb 04 16:52:14 2019 +0000
Revision:
0:de7cee1dd21b
beispiel4

Who changed what in which revision?

UserRevisionLine numberNew 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