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@0:ec0b92e7f922, 2015-03-11 (annotated)
- Committer:
- krepemar
- Date:
- Wed Mar 11 15:51:59 2015 +0000
- Revision:
- 0:ec0b92e7f922
- Child:
- 1:9b85c92a1ace
LED blinking with button on STM32F0 Discovery
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
krepemar | 0:ec0b92e7f922 | 1 | #include "mbed.h" |
krepemar | 0:ec0b92e7f922 | 2 | |
krepemar | 0:ec0b92e7f922 | 3 | InterruptIn button(PA_0); // definovani tlacitka s urcenim, na jaky pin procesoru je tlacitko pripojeno |
krepemar | 0:ec0b92e7f922 | 4 | DigitalOut blue(PC_8); // definovani modre LED diody s urcenim, na jaky pin procesoru je modra LED pripojena |
krepemar | 0:ec0b92e7f922 | 5 | DigitalOut green(PC_9); // definovani zelene LED diody s urcenim, na jaky pin procesoru je zelena LED pripojena |
krepemar | 0:ec0b92e7f922 | 6 | |
krepemar | 0:ec0b92e7f922 | 7 | bool press = false; // promenna typu boolean, kam se uklada, jestli bylo stisteno tlacitko |
krepemar | 0:ec0b92e7f922 | 8 | |
krepemar | 0:ec0b92e7f922 | 9 | void pressed() // metoda vykonana pri stisku tlacitka |
krepemar | 0:ec0b92e7f922 | 10 | { |
krepemar | 0:ec0b92e7f922 | 11 | if (press == false){ // pokud byla promenna press false (tlacitko nebylo zmacknuto), vykona se nasledujici kod |
krepemar | 0:ec0b92e7f922 | 12 | press = true; // zmena promenne press na true (rika, ze tlacitko bylo stisteno) |
krepemar | 0:ec0b92e7f922 | 13 | }else{ // pokud promenna press nebyla false, vykona se nasledujici kod |
krepemar | 0:ec0b92e7f922 | 14 | press = false; // zmena promenne press na false |
krepemar | 0:ec0b92e7f922 | 15 | } |
krepemar | 0:ec0b92e7f922 | 16 | } |
krepemar | 0:ec0b92e7f922 | 17 | |
krepemar | 0:ec0b92e7f922 | 18 | int main() // hlavni metoda |
krepemar | 0:ec0b92e7f922 | 19 | { |
krepemar | 0:ec0b92e7f922 | 20 | blue=1; // na zacatku behu programu je modra LED zhasnuta |
krepemar | 0:ec0b92e7f922 | 21 | green=0; // zelena LED rozsvicena |
krepemar | 0:ec0b92e7f922 | 22 | button.fall(&pressed); // pokud bylo stisteno tlacitko, je vyvolano preruseni a vykonána metoda pressed |
krepemar | 0:ec0b92e7f922 | 23 | |
krepemar | 0:ec0b92e7f922 | 24 | while (1) { // nekonecna smycka |
krepemar | 0:ec0b92e7f922 | 25 | green = !green; // obraceni hodnoty zelene LED |
krepemar | 0:ec0b92e7f922 | 26 | if (press == false){ // kdyz tlacitko neni stisteno, vykona se nasledujici kod |
krepemar | 0:ec0b92e7f922 | 27 | blue=!green; // hodnota modre LED je opacna nez hodnota zelene LED |
krepemar | 0:ec0b92e7f922 | 28 | wait(0.4); // ceka 400 ms |
krepemar | 0:ec0b92e7f922 | 29 | }else{ // kdyz je tlacitko stisteno |
krepemar | 0:ec0b92e7f922 | 30 | blue=green; // hodnota modre LED je stejna jako hodnota zelene LED |
krepemar | 0:ec0b92e7f922 | 31 | wait(0.2); // ceka 200 ms |
krepemar | 0:ec0b92e7f922 | 32 | green = !green; // obraceni hodnoty zelene LED |
krepemar | 0:ec0b92e7f922 | 33 | wait(0.2); // ceka 200 ms |
krepemar | 0:ec0b92e7f922 | 34 | green = !green; // obraceni hodnoty zelene LED |
krepemar | 0:ec0b92e7f922 | 35 | wait(0.2); // ceka 200 ms |
krepemar | 0:ec0b92e7f922 | 36 | } |
krepemar | 0:ec0b92e7f922 | 37 | } |
krepemar | 0:ec0b92e7f922 | 38 | } |