Bulme Codes
Beispiel 1
Beispiel 1: Erzeugen Sie die Klasse TwoLeds mit einem Konstruktor für zwei Leds und folgenden Methoden:
http://ec2-52-211-146-247.eu-west-1.compute.amazonaws.com:7829/#user_1529343534023
#include "mbed.h" class MyLed { public: MyLed(PinName pin) : _pin(pin){ // Initalisierungsliste _pin = 0; // Initalisierung mit 0 } void ledOn(void){ _pin=1; } void ledOff(void){ _pin=0; } void printStatus(void){ printf("Blink! LED is now %d\n", _pin.read()); } private: DigitalOut _pin; }; class TwoLed { public: TwoLed(PinName pin1, PinName pin2) : _pin1(pin1), _pin2(pin2) { // Initalisierungsliste _pin1 = 0; // Initalisierung mit 0 _pin2 = 0; } void ledOn(void){ _pin1=1; _pin2=1; } void ledOff(void){ _pin1=0; _pin2=0; } void ledX(void){ _pin1 = _pin2; _pin2 = !_pin2; } void printStatus(void){ printf("LED Status:\n LED1: %d\n LED2: %d\n", _pin1.read(), _pin2.read()); } private: DigitalOut _pin1, _pin2; }; //--------------------------------------------------- TwoLed twoled1(LED3, LED4); MyLed myled1(LED1); int main() { while (1) { // schalten einer einzelnen LED, mit der Klasse "MyLed" for(int i = 0; i < 5; i++){ myled1.ledOn(); myled1.printStatus(); wait_ms(300); myled1.ledOff(); myled1.printStatus(); wait_ms(300); } // schalten von zwei LEDs, mittels der "TwoLed"-Klasse // fuenfmalige abwechslung von Ein und Ausschaltung der beiden LEDs for(int i = 0; i < 5; i++){ twoled1.ledOn(); twoled1.printStatus(); wait_ms(300); twoled1.ledOff(); twoled1.printStatus(); wait_ms(300); } // fuenfmaliges alternieren der LEDs for(int i = 0; i < 5; i++){ twoled1.ledX(); twoled1.printStatus(); wait_ms(300); } } }