FSST - Hardwarenahe Programmierung

Klasse PWM

C++ Seite

Die folgende Klasse Rgb zeigt für eine Led die PWM am Beispiel RGB-Led des M0-Boards (M3Board siehe Application-Board):

class Rgb {
    PwmOut _red;
public:
    Rgb( PinName red ) : _red(red) {}
    void LedOn() {
        //_red = 0;
        for(float i=0.0; i <= 1.0; i+= 0.1) {
            _red = i;
            wait_ms(200);
        }
    }
    void LedOff() {
        _red = 1;
    }
};

Rgb rgb(p36);     // M3Board r: p23 g: p24 b: p25;

Im Vergleich zur HasA-Klasse für DigitalOut hat sich eigentlich nur der "Datentype" von DigitalOut auf PwmOut verändert. Für die Methode LedOn wurde statt Zeile 6 das Dimmen der Led implementiert (Zeile 7-9). In Zeile 17 wird die rote Led der RGB-Led als Objekt rgb instaziiert.


All wikipages