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
main.cpp
- Committer:
- anti2810
- Date:
- 2015-02-23
- Revision:
- 0:63709874455b
- Child:
- 1:4d500c8ba221
File content as of revision 0:63709874455b:
#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);
BtnEventM0 Btn1(P0_15), Btn2(P0_23);
class FahrradLeuchte { //Eine Klasse namens FahrradLeuchte
public: //Öffentlich
void Init() { state=1; t1.start(); } //Beim Aufrufen wird der Status auf 1 gesetzt und der Timer t1 gestartet
void State1Func(); //Funktion definieren
void State2Func(); //Funktion definieren
void State3Func(); //Funktion definieren
public: //Öffentlich
void State1Action(); //Funktion definieren
void State2Action(); //Funktion definieren
void State3Action(); //Funktion definieren
public: //Öffentlich
int state; //Integer state definieren
Timer t1; //Timer t1 definieren
};
FahrradLeuchte fl; //Klasse als Variabel aktivieren
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)
{
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; }
}
}
void FahrradLeuchte::State2Func()
{
t1.reset();
stLED = 2;
while(1)
{
State2Action();
if( Btn1.CheckFlag() )
{ state=3; return; }
if( Btn2.CheckFlag() )
{ state=1; return; }
}
}
void FahrradLeuchte::State3Func()
{
t1.reset();
stLED = 3;
while(1)
{
State3Action();
if( Btn1.CheckFlag() )
{ state=1; return; }
if( Btn2.CheckFlag() )
{ state=2; return; }
}
}
void FahrradLeuchte::State1Action()
{
if( t1.read_ms()<500 )
return;
t1.reset();
if( lb==0 )
lb = 512;
else
lb = 0;
}
void FahrradLeuchte::State2Action()
{
if( t1.read_ms()<200 )
return;
t1.reset();
if( lb==0 )
lb = 256;
else
lb = 0;
}
void FahrradLeuchte::State3Action()
{
if( t1.read_ms()<100 )
return;
t1.reset();
if( lb==0 )
lb = 128;
else
lb = 0;
}