Uebung - VERERBUNG - mit Klasse InterruptIn

Dependencies:   mbed

Committer:
Powers
Date:
Thu Jan 31 22:20:45 2019 +0000
Revision:
0:3c1a1dcf317a
Child:
1:c22bded09a21
Uebung zu Vererbung; anschauliches Beispiel, so klein gehalten wie moeglich

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Powers 0:3c1a1dcf317a 1 #include "mbed.h"
Powers 0:3c1a1dcf317a 2
Powers 0:3c1a1dcf317a 3 // Uebung
Powers 0:3c1a1dcf317a 4 // Vererbung der Klasse InterruptIn auf IsAnEvent
Powers 0:3c1a1dcf317a 5 // Erstellen eines Interrupt Events
Powers 0:3c1a1dcf317a 6
Powers 0:3c1a1dcf317a 7 // Joystick UP zum triggern verwenden
Powers 0:3c1a1dcf317a 8
Powers 0:3c1a1dcf317a 9 // as easy as stealing sweets from a baby
Powers 0:3c1a1dcf317a 10
Powers 0:3c1a1dcf317a 11
Powers 0:3c1a1dcf317a 12 class IsAnEvent : public InterruptIn // Klasse InterruptIn wird vererbt auf IsAnEvent
Powers 0:3c1a1dcf317a 13 {
Powers 0:3c1a1dcf317a 14 private:
Powers 0:3c1a1dcf317a 15 public:
Powers 0:3c1a1dcf317a 16 IsAnEvent(PinName pin) : InterruptIn(pin)
Powers 0:3c1a1dcf317a 17 {
Powers 0:3c1a1dcf317a 18 // rise Methode von InterruptIn
Powers 0:3c1a1dcf317a 19 // Durch die Vererbung sind nun alle Methoden der Klasse Interrupt in verfügbar -> rise
Powers 0:3c1a1dcf317a 20 rise(callback(this, &IsAnEvent::test)); // Bei Trigger von Interrupt wird die Methode test aufgerufen
Powers 0:3c1a1dcf317a 21 // auch möglich mittels scope Operator den genauen Pfad angeben
Powers 0:3c1a1dcf317a 22 // InterruptIn::rise(callback(this, &IsAnEvent::test));
Powers 0:3c1a1dcf317a 23 }
Powers 0:3c1a1dcf317a 24
Powers 0:3c1a1dcf317a 25 void test(void); // Prototyping
Powers 0:3c1a1dcf317a 26 };
Powers 0:3c1a1dcf317a 27
Powers 0:3c1a1dcf317a 28
Powers 0:3c1a1dcf317a 29 // Bei trigger vom Interrupt wird ein Text - Serial - ausgegeben
Powers 0:3c1a1dcf317a 30 void IsAnEvent::test(void)
Powers 0:3c1a1dcf317a 31 {
Powers 0:3c1a1dcf317a 32 printf("Test Positiv \n");
Powers 0:3c1a1dcf317a 33 }
Powers 0:3c1a1dcf317a 34
Powers 0:3c1a1dcf317a 35 IsAnEvent event(p15); // Neues Objekt erstellen und den pin für JoyUp mitübergeben
Powers 0:3c1a1dcf317a 36
Powers 0:3c1a1dcf317a 37 int main()
Powers 0:3c1a1dcf317a 38 {
Powers 0:3c1a1dcf317a 39
Powers 0:3c1a1dcf317a 40 }