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@2:da8f8b14f387, 2015-03-23 (annotated)
- Committer:
- krepemar
- Date:
- Mon Mar 23 13:20:48 2015 +0000
- Revision:
- 2:da8f8b14f387
- Parent:
- 1:9b85c92a1ace
- Child:
- 3:67e70777bc5d
new comments
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
krepemar | 1:9b85c92a1ace | 1 | /********************************************************************************** |
krepemar | 1:9b85c92a1ace | 2 | * @file main.cpp |
krepemar | 1:9b85c92a1ace | 3 | * @author Marta Krepelkova |
krepemar | 1:9b85c92a1ace | 4 | * @version V0.1 |
krepemar | 1:9b85c92a1ace | 5 | * @date 11-March-2015 |
krepemar | 1:9b85c92a1ace | 6 | * @brief LED blinking with button for STM32F0 Discovery kit |
krepemar | 1:9b85c92a1ace | 7 | ***********************************************************************************/ |
krepemar | 1:9b85c92a1ace | 8 | |
krepemar | 1:9b85c92a1ace | 9 | /**********************************************************************************/ |
krepemar | 1:9b85c92a1ace | 10 | /* Table of used pins on STM32F0 Discovery kit with STM32F051R8 MCU (LQFP64) */ |
krepemar | 1:9b85c92a1ace | 11 | /**********************************************************************************/ |
krepemar | 1:9b85c92a1ace | 12 | /* LQFP64 pin | Discovery pin | ST Nucleo F030R8 pin | peripheral */ |
krepemar | 1:9b85c92a1ace | 13 | /* 14 | PA_0 | PC_13 | User button */ |
krepemar | 1:9b85c92a1ace | 14 | /* 39 | PC_8 | PA_5 | LED */ |
krepemar | 1:9b85c92a1ace | 15 | /* 40 | PC_9 | | LED */ |
krepemar | 1:9b85c92a1ace | 16 | /**********************************************************************************/ |
krepemar | 1:9b85c92a1ace | 17 | |
krepemar | 1:9b85c92a1ace | 18 | /* Includes ----------------------------------------------------------------------*/ |
krepemar | 0:ec0b92e7f922 | 19 | #include "mbed.h" |
krepemar | 1:9b85c92a1ace | 20 | |
krepemar | 2:da8f8b14f387 | 21 | /* Defines -----------------------------------------------------------------------*/ |
krepemar | 1:9b85c92a1ace | 22 | |
krepemar | 2:da8f8b14f387 | 23 | /* Function prototypes -----------------------------------------------------------*/ |
krepemar | 1:9b85c92a1ace | 24 | |
krepemar | 1:9b85c92a1ace | 25 | /* Variables ---------------------------------------------------------------------*/ |
krepemar | 1:9b85c92a1ace | 26 | bool press = false; // boolean value, where you can find if was the button pressed |
krepemar | 1:9b85c92a1ace | 27 | |
krepemar | 2:da8f8b14f387 | 28 | //mbed - initialization of peripherals |
krepemar | 2:da8f8b14f387 | 29 | InterruptIn button(PA_0); // inicialize button on STM32F0 discovery |
krepemar | 2:da8f8b14f387 | 30 | DigitalOut blue(PC_8); // inicialize blue LED on STM32F0 discovery |
krepemar | 2:da8f8b14f387 | 31 | DigitalOut green(PC_9); // inicialize green LED on STM32F0 discovery |
krepemar | 1:9b85c92a1ace | 32 | |
krepemar | 1:9b85c92a1ace | 33 | /* Functions----------------------------------------------------------------------*/ |
krepemar | 0:ec0b92e7f922 | 34 | |
krepemar | 1:9b85c92a1ace | 35 | /******************************************************************************* |
krepemar | 1:9b85c92a1ace | 36 | * Function Name : pressed. |
krepemar | 2:da8f8b14f387 | 37 | * Description : Changes value "press" if someone pressed the button. |
krepemar | 1:9b85c92a1ace | 38 | * Input : None. |
krepemar | 1:9b85c92a1ace | 39 | * Output : None. |
krepemar | 1:9b85c92a1ace | 40 | * Return : None. |
krepemar | 1:9b85c92a1ace | 41 | *******************************************************************************/ |
krepemar | 1:9b85c92a1ace | 42 | void pressed() |
krepemar | 0:ec0b92e7f922 | 43 | { |
krepemar | 1:9b85c92a1ace | 44 | if (press == false){ // variable prees was false (button wasn't pressed yet) |
krepemar | 1:9b85c92a1ace | 45 | press = true; // press is true (button was pressed) |
krepemar | 1:9b85c92a1ace | 46 | }else{ // variable press was true |
krepemar | 1:9b85c92a1ace | 47 | press = false; // press is false |
krepemar | 0:ec0b92e7f922 | 48 | } |
krepemar | 0:ec0b92e7f922 | 49 | } |
krepemar | 1:9b85c92a1ace | 50 | |
krepemar | 1:9b85c92a1ace | 51 | /******************************************************************************* |
krepemar | 1:9b85c92a1ace | 52 | * Function Name : main. |
krepemar | 1:9b85c92a1ace | 53 | * Description : Main routine. |
krepemar | 1:9b85c92a1ace | 54 | * Input : None. |
krepemar | 1:9b85c92a1ace | 55 | * Output : None. |
krepemar | 1:9b85c92a1ace | 56 | * Return : None. |
krepemar | 1:9b85c92a1ace | 57 | *******************************************************************************/ |
krepemar | 1:9b85c92a1ace | 58 | int main() |
krepemar | 0:ec0b92e7f922 | 59 | { |
krepemar | 1:9b85c92a1ace | 60 | blue=1; // blue LED is off |
krepemar | 1:9b85c92a1ace | 61 | green=0; // green LED is on |
krepemar | 1:9b85c92a1ace | 62 | button.fall(&pressed); // button was pressed, call function pressed |
krepemar | 0:ec0b92e7f922 | 63 | |
krepemar | 1:9b85c92a1ace | 64 | while (1) { // infinity loop |
krepemar | 1:9b85c92a1ace | 65 | green = !green; // inverse value of green LED |
krepemar | 1:9b85c92a1ace | 66 | if (press == false){ // button wasn't pressed |
krepemar | 1:9b85c92a1ace | 67 | blue=!green; // value of blue LED is iverse to green LED |
krepemar | 1:9b85c92a1ace | 68 | wait(0.4); // wait 400 ms |
krepemar | 1:9b85c92a1ace | 69 | }else{ // button was pressed |
krepemar | 1:9b85c92a1ace | 70 | blue=green; // value of blue LED is same like value of green LED |
krepemar | 1:9b85c92a1ace | 71 | wait(0.2); // wait 200 ms |
krepemar | 1:9b85c92a1ace | 72 | green = !green; // inverse value of green LED |
krepemar | 1:9b85c92a1ace | 73 | wait(0.2); // wait 200 ms |
krepemar | 1:9b85c92a1ace | 74 | green = !green; // inverse value of green LED |
krepemar | 1:9b85c92a1ace | 75 | wait(0.2); // wait 200 ms |
krepemar | 0:ec0b92e7f922 | 76 | } |
krepemar | 0:ec0b92e7f922 | 77 | } |
krepemar | 0:ec0b92e7f922 | 78 | } |