Uebung - VERERBUNG - mit Klasse InterruptIn
Dependencies: mbed
main.cpp@1:c22bded09a21, 2019-01-31 (annotated)
- Committer:
- Powers
- Date:
- Thu Jan 31 22:24:17 2019 +0000
- Revision:
- 1:c22bded09a21
- Parent:
- 0:3c1a1dcf317a
Ausbesserungen
Who changed what in which revision?
User | Revision | Line number | New 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 | 1:c22bded09a21 | 16 | IsAnEvent(PinName pin) : InterruptIn(pin) // Constructor übergibt eingangspin an InterruptIn |
Powers | 1:c22bded09a21 | 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 | } |