§BHELI / Mbed 2 deprecated Zusammenfassung

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
big12boy
Date:
Mon Mar 23 09:01:10 2015 +0000
Parent:
0:5492d5e8e67f
Commit message:
Zusammenfassung mit Kommentaren

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Sun Mar 22 16:05:21 2015 +0000
+++ b/main.cpp	Mon Mar 23 09:01:10 2015 +0000
@@ -1,55 +1,63 @@
+//Importieren der Standardbefehle
 #include "mbed.h"
 
-BusOut leds(P1_13,P1_12,P1_7,P1_6,P1_4,P1_3,P1_1,P1_0,LED4,LED3,LED2,LED1);
-DigitalIn btn1(P0_10);
-InterruptIn btn2(P1_16), btn3(P0_23);
+//Deffinieren von Ein-/Ausgängen
+BusOut leds(P1_13,P1_12,P1_7,P1_6,P1_4,P1_3,P1_1,P1_0,LED4,LED3,LED2,LED1); //Bus (Mehrere Eingänge zusammenfassen), Out (Als Ausgang definieren), leds (Name der Variable), ... (Pins aus der zusammenfassung wählen und eintragen)
+DigitalIn btn1(P0_10); //Digital (nur 1 oder 0), In (Eingang), btn (Name der Varibale), P0_16 (Pin, an der der Button angeschlossen ist)
+InterruptIn btn2(P1_16), btn3(P0_23); //Interrupt (Wenn sich der Eingang verändert [Rise 0->1, Fall 1->0]), In (Eingang)] ...
 
-int btn3pressed = 0, temp = 0;
+//Definieren von Variablen
+int btn3pressed = 0, temp = 0; //Variablen für das Speichern, ob btn3 gedrückt wurde
 
-Timer T1;
-void sw4ISR();
-void sw3ISR();
-int sw3CheckFlag();
+Timer T1;  //Timer definieren (Zähler der im hintergrund von 0ms hoch zählt)
 
+void sw4ISR(); //Definieren der Interrupt Klassen
+void sw3ISR(); //...
+int sw3CheckFlag(); //Definieren einer Abfrageklasse
+
+//Hauptmethode
 int main() {
-    //Init
-    btn2.rise(sw4ISR);
-    btn3.rise(sw3ISR);
-    T1.start();
-    leds=1;
-    wait_ms(500);
+    //Initialisierung
+    btn2.rise(sw4ISR); //Definieren der Interrupts als rise, sw4ISR ist die Methode, die Aufgerufen wird) 
+    btn3.rise(sw3ISR); //...
     
-    //Loop
+    T1.start(); //Starten des 1. Timers
+    leds=1; //Aktivieren der 1. LED am LED-Balken
+    wait_ms(500); //Warten 0,5s
+    
+    //Dauerschleife
     while(1) {
-        leds = leds << 1;
+        leds = leds << 1; //Verschieben der LEDs, << nach links (0001 -> 0010), >> nach rechts (0100->0010), null wird nachgeschoben
         
-        if(btn1 || sw3CheckFlag()){
-            leds=1;
-            T1.reset();
+        if(btn1 || sw3CheckFlag()){  // Prüfen, ob der 1. Button gedrückt ist oder btn3 seit dem letzten mal gedrückt wurde
+            leds=1;     //Zurücksetzen des LED-Balkens
+            T1.reset(); //Zurücksetzen des Timers
         } 
-        if(T1.read_ms() > 10000){
-           T1.reset();
-           leds=1; 
+        if(T1.read_ms() > 10000){   //Prüfen ob der Timer mehr als 10s läuft
+           T1.reset();      //Zurücksetzen des Timers
+           leds=1;          //Zurücksetzen des LED-Balkens
         }
         
-        wait_ms(2000);
+        wait_ms(2000); //2s Warten
         
     }
 }
 
+//Interrupt Klassen
+//Button 4 gedrückt -> direkter Einfluss auf den LED Balken
 void sw4ISR(){
-    leds=1;
-    T1.reset();
+    leds=1;     //Zurücksetzen des LED-Balkens
+    T1.reset(); //Zurücksetzen des Timers
 }
 
+//Button 3 gedrückt -> Speichern des Drucks
 void sw3ISR(){
     btn3pressed = 1;
 }
 
+//Abfrage, ob btn3 gedrückt wurde
 int sw3CheckFlag(){
-    temp = btn3pressed;
-    btn3pressed = 0;
-    return temp;
-}
-
-//EP 10, 11, 13, 14 , 16, 17, 112, 113
\ No newline at end of file
+    temp = btn3pressed; //zuwischenspeichern der Variable (btn3pressed muss vor dem "return" zurückgesetzt werden)
+    btn3pressed = 0;    //btn3pressed zurücksetzen
+    return temp;        //Rückgabe von 1 oder 0, je nach dem, ob btn3 gedrückt wurde
+}
\ No newline at end of file