Fahrradleuchte
Dependencies: mbed
main.cpp
- Committer:
- david22
- Date:
- 2016-11-16
- Revision:
- 0:d715cbadd410
File content as of revision 0:d715cbadd410:
#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 sw4(P1_16), sw3(P0_23); class Fahrradleuchte{ public: void Init() { state=1; t1.start(); } void State1Func(); void State2Func(); void State3Func(); public: void State1Action(); // Bit0 (LED) mit 10Hz blinken void State2Action(); // Bit2 (LED) mit 5Hz blinken void State3Action(); // Bit3 (LED) mit 2Hz blinken public: int state; // State sagt uns in welchem Zustand sich die Fahrradleuchte gerade befindet Timer t1; }; // Ein Objekt Fahrradleuchte anlegen Fahrradleuchte fl; int main(void) { sw3.Init(); sw4.Init(); lb=0; while(1) { if(fl.state==1) {fl.State1Func();} if(fl.state==2) {fl.State2Func();} if(fl.state==3) {fl.State3Func();} } } void Fahrradleuchte::State1Func() { // Einmalige Aktion die beim Eintrit in die Funktion nötig sind stLED=1; // while(1) { State1Action(); if(sw4.CheckFlag() ) // Btn's abfragen und möglicherweise Zustand ändern { state=2; return; } if(sw3.CheckFlag() ) { state=3; return; } } } void Fahrradleuchte::State1Action() { if(t1.read_ms()>100) { t1.reset(); if(lb==0) lb= 1; // Mit Bit0 blinken else lb=0; } } void Fahrradleuchte::State2Func() { } void Fahrradleuchte::State3Func() { }