Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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);
}
}
}