Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Diff: main.cpp
- Revision:
- 1:4d500c8ba221
- Parent:
- 0:63709874455b
--- a/main.cpp Mon Feb 23 14:24:41 2015 +0000
+++ b/main.cpp Mon Feb 23 14:38:06 2015 +0000
@@ -1,10 +1,17 @@
+/*
+Copyright: Antonio Vlasic
+1997 - heute
+*/
+
#include "mbed.h"
#include "BtnEventM0.h"
-BusOut lb(P1_7,P1_6,P1_4,P1_3,P1_1,P1_0,LED4,LED3,LED2,LED1);
-BusOut stLED(P1_13,P1_12);
+BusOut lb(P1_7,P1_6,P1_4,P1_3,P1_1,P1_0,LED4,LED3,LED2,LED1); //Ledbar definieren ohne P1_13 und P1_12
+BusOut stLED(P1_13,P1_12); //P1_13 und P1_12 definieren
-BtnEventM0 Btn1(P0_15), Btn2(P0_23);
+BtnEventM0 Btn1(P0_15), Btn2(P0_23); //2 Buttons unter einer Custom Library definieren
+
+//Custom Library: BtnEventM0.h
class FahrradLeuchte { //Eine Klasse namens FahrradLeuchte
public: //Öffentlich
@@ -25,35 +32,34 @@
int main() { //Main-Funktion
lb=0; //Gesamte Ledbar auf 0 setzen
- Btn1.Init(); Btn2.Init(); //Btn1 und Btn2 mit Init ansprechen
- fl.Init();
- while(1)
+ Btn1.Init(); Btn2.Init(); //Btn1 und Btn2 mit Init() ansprechen
+ fl.Init(); //Die Fahrradleuchte mit Init() ansprechen
+ while(1) //Die ganze Zeit durchlaufen
{
- if( fl.state==1 )
- fl.State1Func();
- if( fl.state==2 )
- fl.State2Func();
- if( fl.state==3 )
- fl.State3Func();
- }
-
-}
-
-void FahrradLeuchte::State1Func()
-{
- t1.reset();
- stLED = 1;
- while(1)
- {
- State1Action();
- if( Btn1.CheckFlag() )
- { state=2; return; }
- if( Btn2.CheckFlag() )
- { state=3; return; }
+ if( fl.state==1 ) //Wenn der Status der Fahrradleuchte 1 ist
+ fl.State1Func(); //Funktion State1Func unter der Klasse FahrradLeuchte starten
+ if( fl.state==2 ) //Wenn der Status der Fahrradleuchte 2 ist
+ fl.State2Func(); //Funktion State2Func unter der Klasse FahrradLeuchte starten
+ if( fl.state==3 ) //Wenn der Status der Fahrradleuchte 3 ist
+ fl.State3Func(); //Funktion State3Func unter der Klasse FahrradLeuchte starten
}
}
-void FahrradLeuchte::State2Func()
+void FahrradLeuchte::State1Func() //Funktion State1Func() der Klasse FahrradLeuchte definieren
+{
+ t1.reset(); //Timer t1 reseten
+ stLED = 1; //Binärstatus 1 mit Leds anzeigen
+ while(1) //Während die Funktion aufgerufen wird
+ {
+ State1Action(); //Function State1Action() aufrufen
+ if( Btn1.CheckFlag() ) //Wenn der erste Button geklickt wird
+ { state=2; return; } //state = 2
+ if( Btn2.CheckFlag() ) //Wenn der zweite Button geklickt wird
+ { state=3; return; } //state = 3
+ }
+}
+
+void FahrradLeuchte::State2Func() //Funktion State2Func() der Klasse FahrradLeuchte definieren (Rest siehe oben)
{
t1.reset();
stLED = 2;
@@ -67,7 +73,7 @@
}
}
-void FahrradLeuchte::State3Func()
+void FahrradLeuchte::State3Func() //Funktion State3Func() der Klasse FahrradLeuchte definieren (Rest siehe oben)
{
t1.reset();
stLED = 3;
@@ -81,18 +87,18 @@
}
}
-void FahrradLeuchte::State1Action()
+void FahrradLeuchte::State1Action() //Funktion State1Action() der Klasse FahrradLeuchte definieren
{
- if( t1.read_ms()<500 )
- return;
- t1.reset();
- if( lb==0 )
- lb = 512;
- else
- lb = 0;
+ if( t1.read_ms()<500 ) //Solande t1 kleiner als 0.5 Sekunden ist
+ return; //Ende der Funktion
+ t1.reset(); //Wenn größer: Timer t1 reseten
+ if( lb==0 ) //wenn die Ledbar auf dem Status 0 ist
+ lb = 512; //Der 3. Led von hinten der Ledbar aufleuchten lassen
+ else //Sonst
+ lb = 0; //Ledbar auf 0 setzen
}
-void FahrradLeuchte::State2Action()
+void FahrradLeuchte::State2Action() //Funktion State1Action() der Klasse FahrradLeuchte definieren (Rest siehe oben)
{
if( t1.read_ms()<200 )
return;
@@ -103,7 +109,7 @@
lb = 0;
}
-void FahrradLeuchte::State3Action()
+void FahrradLeuchte::State3Action() //Funktion State1Action() der Klasse FahrradLeuchte definieren (Rest siehe oben)
{
if( t1.read_ms()<100 )
return;