Cortex Challenge Team / Mbed 2 deprecated DiscoveryF0-LED_and_Button

Dependencies:   mbed

main.cpp

Committer:
krepemar
Date:
2015-03-11
Revision:
0:ec0b92e7f922
Child:
1:9b85c92a1ace

File content as of revision 0:ec0b92e7f922:

#include "mbed.h"
 
InterruptIn button(PA_0);       // definovani tlacitka s urcenim, na jaky pin procesoru je tlacitko pripojeno
DigitalOut blue(PC_8);          // definovani modre LED diody s urcenim, na jaky pin procesoru je modra LED pripojena
DigitalOut green(PC_9);         // definovani zelene LED diody s urcenim, na jaky pin procesoru je zelena LED pripojena
 
bool press = false;             // promenna typu boolean, kam se uklada, jestli bylo stisteno tlacitko
 
void pressed()                  // metoda vykonana pri stisku tlacitka
{
    if (press == false){        // pokud byla promenna press false (tlacitko nebylo zmacknuto), vykona se nasledujici kod
        press = true;           // zmena promenne press na true (rika, ze tlacitko bylo stisteno)
    }else{                      // pokud promenna press nebyla false, vykona se nasledujici kod
        press = false;          // zmena promenne press na false
    }
}
 
int main()                      // hlavni metoda
{
    blue=1;                     // na zacatku behu programu je modra LED zhasnuta
    green=0;                    // zelena LED rozsvicena
    button.fall(&pressed);      // pokud bylo stisteno tlacitko, je vyvolano preruseni a vykonána metoda pressed
    
    while (1) {                 // nekonecna smycka
        green = !green;         // obraceni hodnoty zelene LED 
        if (press == false){    // kdyz tlacitko neni stisteno, vykona se nasledujici kod
            blue=!green;        // hodnota modre LED je opacna nez hodnota zelene LED
            wait(0.4);          // ceka 400 ms
        }else{                  // kdyz je tlacitko stisteno
            blue=green;         // hodnota modre LED je stejna jako hodnota zelene LED
            wait(0.2);          // ceka 200 ms
            green = !green;     // obraceni hodnoty zelene LED 
            wait(0.2);          // ceka 200 ms
            green = !green;     // obraceni hodnoty zelene LED 
            wait(0.2);          // ceka 200 ms
        }
    }
}