Matthias Reichstam
/
Test_TINF_29112018
Projekt TEINF
main.cpp
- Committer:
- Reichi19
- Date:
- 2018-11-29
- Revision:
- 3:ccacc13998da
- Parent:
- 2:23fc7c5e314a
File content as of revision 3:ccacc13998da:
#include "mbed.h" DigitalOut led1(LED1); DigitalOut led2(LED2); DigitalOut led3(LED3); DigitalOut led4(LED4); BusOut led (LED1,LED2,LED3,LED4); InterruptIn sw1(p14); InterruptIn sw2(p15); void flipper(void); void ON(void); void OFF(void); void IDEL(void); void sw1Rise(void); bool checker(void); bool volatile sw1Pressed; int counter; int i = 0; enum Status{ST_ON = 0, ST_OFF}; Status volatile status; int main(void) { sw1.rise(&sw1Rise); status = ST_ON; sw1Pressed = 0; counter =0; led1=0, led2=0, led3=0, led4=0; while(1) { switch(status) { case ST_ON:ON() ; break; case ST_OFF:OFF() ; break; } } } void flipper(void) { if(counter == 1) { int i; i++; led = i; } counter ++; } bool checker(void) { if(sw1Pressed == 1) { printf("void checker\n"); sw1Pressed = false; return true; } return false; } void sw1Rise(void) { printf("sw1Rise\n"); if(status == ST_ON || status == ST_OFF) sw1Pressed = 1; wait_ms(200); } void OFF(void) { printf("void OFF\n"); led =0; while(1) { if (checker() == true) { status = ST_ON; return; } } } void ON(void) { led = 15; wait_ms(500); led = 3; printf("void ON\n"); while(1) { if (checker() == true) { flipper(); status = ST_OFF; return; } } }