beispiel4

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 
00003 // Instanziierung mit:
00004 /*
00005 HexLeds hexleds(LED1, LED2, LED3, LED4);
00006  
00007 // Aufruf der Methoden
00008 main() {
00009    hexleds.eingabe()     // einlesen eines Integer-Wertes von der Tastatur mit scanf("%d", &ein);
00010    hexleds.ausgabe()     // ausgeben des Integer-Wertes der von der Tastatur eingegeben wurde
00011    hexleds.hexOut()      // Ausgabe des Wertes in Hex-Darstellung an den 4 Leds
00012    hexleds.printStatus() // Anzeigen ob Leds ein oder aus
00013 }
00014 */
00015 
00016 
00017 class HexLeds
00018 {
00019     private:
00020         BusOut _ledbus;
00021         DigitalOut _pin0;
00022         DigitalOut _pin1;
00023         DigitalOut _pin2;
00024         DigitalOut _pin3;
00025         int _eingabe;
00026         
00027     public:
00028          HexLeds(PinName pin0, PinName pin1, PinName pin2, PinName pin3):
00029         _pin0(pin0), 
00030         _pin1(pin1), 
00031         _pin2(pin2), 
00032         _pin3(pin3), 
00033         _ledbus(pin0,pin1,pin2,pin3)
00034         
00035         {
00036             _pin0=0; 
00037             _pin1=0; 
00038             _pin2=0; 
00039             _pin3=0;
00040             _ledbus = 0;
00041         }
00042         
00043         void eingabe(void)
00044         {
00045             bool was = false;
00046             
00047             while(was == false)
00048             {
00049                 scanf("%d", &_eingabe);
00050                 if (_eingabe < 16)
00051                     was = true;
00052             }
00053         }
00054         void ausgabe(void)
00055         {
00056             printf("Der Dezimalwert: %d - Der Hexadezimalwert: 0x%X \n", _eingabe, _eingabe);
00057         }
00058         void hexOut(void)
00059         {
00060             _ledbus = _eingabe;
00061         }
00062         void printStatus(void)
00063         {                       // zum Auslesen entweder (*_pin0).read() oder _pin1->read()
00064             printf("LED1: %d - LED2: %d - LED3: %d - LED4: %d \n", _pin0.read(), _pin1.read(), _pin2.read(), _pin3.read());
00065         }
00066     
00067     
00068     
00069 };
00070 
00071 HexLeds hexleds(LED1,LED2,LED3,LED4);
00072 
00073 //LaufLichtBalken lauflichtbalken(LED1, LED2, LED3, LED4);
00074 //DigitalOut led(LED1);
00075 /* MyLed myled1(LED1);
00076 MyLed myled2(LED2);     // Instanzierung des Objects
00077 MyLed myled3(LED3);
00078 MyLed myled4(LED4);
00079 MyLed myled5(p5);
00080 */
00081 
00082 
00083 
00084 int main()
00085 {
00086     
00087    hexleds.eingabe();     // einlesen eines Integer-Wertes von der Tastatur mit scanf("%d", &ein);
00088    hexleds.ausgabe();     // ausgeben des Integer-Wertes der von der Tastatur eingegeben wurde
00089    hexleds.hexOut();      // Ausgabe des Wertes in Hex-Darstellung an den 4 Leds
00090    hexleds.printStatus(); // Anzeigen ob Leds ein oder aus
00091 
00092 }
00093 
00094