Klassen

Dependencies:   mbed

Revision:
0:8a6521c9d48e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Feb 04 16:59:33 2019 +0000
@@ -0,0 +1,64 @@
+#include "mbed.h"
+ 
+ 
+ //-------------------Inherited Switch Event Class from InterruptIn----------------------
+ 
+class SwEventInh : public InterruptIn                               // Verknüpft mir auf meine Klasse eine andere
+{
+        
+        volatile int16_t _pressed;                                  // volatile => damit nur auf einer CPU gearbeitet wird
+        void _risingISR();                                          // ruft die Funktion auf
+ 
+    public:
+        SwEventInh(PinName pin) : InterruptIn(pin)                  // create the InterruptIn on the pin specified to SwEvent
+    {         
+        rise(callback(this, &SwEventInh::_risingISR));              // attach ISR-function of this SwEvent instance 
+        _pressed=0; 
+            
+            
+    }
+    
+        int checkFlag();                                            // must in do-condition (while(true)-loop) continuously interrogated
+};
+// ---------------- Switch Event Class Methodes --------------------------
+
+int SwEventInh :: checkFlag()                                       // :: Scope Operator => verweist
+{
+    if( _pressed )                                                  // true/False Abfrage
+    {
+        _pressed = 0; 
+        return 1;
+    }
+    return 0;
+}
+ 
+void SwEventInh::_risingISR() 
+{            
+    if( read() )
+        _pressed = 1;
+}
+
+
+
+
+SwEventInh sw1(p14);
+
+DigitalOut myled(LED1);
+ 
+int main() 
+{
+    
+    myled=1;
+    wait(1);
+    myled=0;
+    
+    printf("Hello");
+    while (1)
+    {
+        sw1.read();
+        if(sw1.checkFlag())
+        myled= ! myled;
+        }
+    
+    
+}