Franz Pucher / HIM0Board

You are viewing an older revision! See the latest version

Blinky Codes 1

Methoden

Standard Blinky

aus mbed-Simulator

und Intro

Copy-Paste die folgenden Codes

#include "mbed.h"

DigitalOut led(LED1);

int main() {
    while (1) {
        led = !led;
        printf("Blink! LED is now %d\n", led.read());

        wait_ms(500);
    }
}

Blinky mit Klasse HaseA

#include "mbed.h"

class Blinky {
    DigitalOut _myled;
public:
    Blinky(PinName ld) : _myled(ld) {}
    void LedOn() {
        _myled = 1;
    }
    void LedOff() {
        _myled = 0;
    }
    int read() {
        return _myled.read();
    }
};

Blinky led(LED1);

//DigitalOut led(LED1);

int main() {
    printf("Blink LED is now %d\n", led.read());
    while (1) {
        led.LedOn();
        wait_ms(500);
        led.LedOff();
        wait_ms(500);
    }
}

Überladene Methode

#include "mbed.h"
 
class Blinky {
    DigitalOut _myled;
public:
    Blinky(PinName ld) : _myled(ld) {}
    void LedOn() {
        _myled = 1;
    }
    // überladene Methode LedOn
    void LedOn(int wert) {
        _myled = wert;
    }
    void LedOff() {
        _myled = 0;
    }
    int read() {
        return _myled.read();
    }
};
 
Blinky led(LED1);
 
int main() {
    printf("Blink LED is now %d\n", led.read());
    while (1) {
        led.LedOn(1);
        wait_ms(500);
        led.LedOff();
        wait_ms(500);
    }
}

Überladener Konstruktor

#include "mbed.h"
 
class Blinky {
    DigitalOut _myled;
public:
    Blinky() : _myled(LED1) {}          // Standardkonstruktor
    Blinky(PinName ld) : _myled(ld) {}  // überladener Konstruktor
    void LedOn() {
        _myled = 1;
    }
    // überladene Methode LedOn
    void LedOn(int wert) {
        _myled = wert;
    }
    void LedOff() {
        _myled = 0;
    }
    int read() {
        return _myled.read();
    }
};
 
//Blinky led(LED1);  // Konstruktor mit LED-Pin als Argument
Blinky led;          // Aufruf Standardkonstruktor

int main() {
    printf("Blink LED is now %d\n", led.read());
    while (1) {
        led.LedOn(1);
        wait_ms(500);
        led.LedOff();
        wait_ms(500);
    }
}

Vererbung IsA

#include "mbed.h"

class DigOut : public DigitalOut
{
public:
    //DigOut() : DigitalOut() {};
    DigOut(PinName _pin) : DigitalOut(_pin, 0) {  }
    
    void LedOn() {
        write(1);
    }
    void LedOff() {
        write(0);
    }
    DigitalOut &operator= (int value)
    {
        write(value);
        return *this;
    }
};

DigOut led(LED1);

int main() {
//    led.LedOn();
    while (1) {
        led = !led;
        printf("Blink! LED is now %d\n", led.read());
//        led.LedOn();
//        wait_ms(500);
//        printf("Blink! LED is now %d\n", led.read());
//        led.LedOff();
        wait_ms(500);    
    }
}

Deklaration

Diskussion Deklaration versus Definition


All wikipages