Bulme Codes

Beispiel 2

Beispiel 2: Erzeugen Sie die Klasse FourLeds mit einem Konstruktor für vier Leds und folgenden Methoden:

http://ec2-52-211-146-247.eu-west-1.compute.amazonaws.com:7829/#user_1529339024323

#include "mbed.h"

class FourLeds {
    public:
        FourLeds(PinName pin1, PinName pin2, PinName pin3, PinName pin4) : 
        _pin1(pin1), _pin2(pin2), _pin3(pin3), _pin4(pin4) {   // Initalisierungsliste
        
            _pin1 = 0;                     // Initalisierung mit 0
            _pin2 = 0;
            _pin3 = 0;
            _pin4 = 0;
        }
        
        void lauflicht(void){
            _pin1=1;
            
            wait_ms(500);
            
            _pin1=0; _pin2=1;
            
            wait_ms(500);
            
            _pin2=0; _pin3=1;
            
            wait_ms(500);
            
            _pin3=0; _pin4=1;
            
            wait_ms(500);
            
            _pin1=0; _pin2=0; _pin3=0; _pin4=0;
            
        }
        
        void lauflichtbalken(void){
            _pin1=1;
            
            wait_ms(333);
            
            _pin2=1;
            
            wait_ms(333);
            
            _pin3=1;
            
            wait_ms(333);
            
            _pin4=1;
            
            wait_ms(333);
            
            _pin1=0; _pin2=0; _pin3=0; _pin4=0;
            
            wait_ms(333);
            
            _pin1=1; _pin2=1; _pin3=1; _pin4=1;
            
            wait_ms(333);
            
            _pin1=0; _pin2=0; _pin3=0; _pin4=0;
            
        }
        
    private:
        DigitalOut _pin1, _pin2, _pin3, _pin4;
};

// Instanziierung mit:
FourLeds fourleds(LED1, LED2, LED3, LED4);
 
// Aufruf der Methoden
int main() {
    
    while(1){
    
    fourleds.lauflicht();       
    /*********************************
        D1  D2  D3  D4
        -   -   -   -       Ein Durchgang dauert 2 sec
        X   -   -   -
        -   X   -   - 
        -   -   X   -
        -   -   -   X
        -   -   -   -       X=ON  - = off
    *********************************/
    wait_ms(1000);

    fourleds.lauflichtbalken();
    /*********************************
        D1  D2  D3  D4
        -   -   -   -       Ein Durchgang dauert 2 sec
        X   -   -   -
        X   X   -   - 
        X   X   X   -
        X   X   X   X
        -   -   -   -
        X   X   X   X         X=ON  - = off
    **********************************/
    wait_ms(1000);

    }
}


All wikipages