Jürgen Schüle / Mbed 2 deprecated Nucleo-F091_GettingStarted

Dependencies:   mbed

Committer:
JuergenSchuele
Date:
Fri Dec 20 15:23:06 2019 +0000
Revision:
12:27055a1b43ed
Parent:
11:9080f0d4fd85
Baud rate changed to 115200;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
screamer 0:005629fe3609 1 #include "mbed.h"
JuergenSchuele 8:0cfa131f854c 2 #define PRESSED 0
screamer 0:005629fe3609 3
JuergenSchuele 8:0cfa131f854c 4 /** Nucleo-F091 Getting started
JuergenSchuele 8:0cfa131f854c 5 *
JuergenSchuele 8:0cfa131f854c 6 * Basic fuctionality:
JuergenSchuele 8:0cfa131f854c 7 * - Controls LED
JuergenSchuele 8:0cfa131f854c 8 * - Reads userbutton
JuergenSchuele 8:0cfa131f854c 9 * - Prints on serial terminal
JuergenSchuele 8:0cfa131f854c 10 * - Reads character from serial terminal
JuergenSchuele 11:9080f0d4fd85 11 *
JuergenSchuele 11:9080f0d4fd85 12 * To run the code on the mbed-simulator, change:
JuergenSchuele 11:9080f0d4fd85 13 - Change #define PRESSED 0 to 1
JuergenSchuele 11:9080f0d4fd85 14 - Delete the Serial pc object
JuergenSchuele 11:9080f0d4fd85 15 - substitute pc.printf() by printf()
JuergenSchuele 7:dd77d598e6cb 16 */
JuergenSchuele 7:dd77d598e6cb 17
JuergenSchuele 12:27055a1b43ed 18 Serial pc(SERIAL_TX, SERIAL_RX, 115200);
JuergenSchuele 7:dd77d598e6cb 19 //9600, 8 data bits, no parity,1 stop bit,no flow control
JuergenSchuele 7:dd77d598e6cb 20 DigitalOut onboardLed(LED1);
JuergenSchuele 9:de7920643cbd 21 DigitalIn userButton(BUTTON1, PullUp);
screamer 0:005629fe3609 22
JuergenSchuele 7:dd77d598e6cb 23 int main()
JuergenSchuele 7:dd77d598e6cb 24 {
JuergenSchuele 7:dd77d598e6cb 25 // Initial sequence
JuergenSchuele 7:dd77d598e6cb 26 pc.printf("Hello World !\n\r");
JuergenSchuele 7:dd77d598e6cb 27 onboardLed=1;
JuergenSchuele 7:dd77d598e6cb 28 wait(1.0f); //https://en.cppreference.com/w/cpp/language/floating_literal
JuergenSchuele 7:dd77d598e6cb 29 onboardLed=!onboardLed;
JuergenSchuele 7:dd77d598e6cb 30 wait(1.0f);
JuergenSchuele 7:dd77d598e6cb 31 pc.printf("Press any key on the keyboard to start the program\n\r");
JuergenSchuele 7:dd77d598e6cb 32 pc.putc(pc.getc()); //echo keyboard input, blocking wait
JuergenSchuele 7:dd77d598e6cb 33 pc.printf(" was pressed\n\r");
JuergenSchuele 7:dd77d598e6cb 34 for (int32_t i=0;i<=10;i++){
JuergenSchuele 7:dd77d598e6cb 35 pc.printf("***\n\r"); //Generate some new lines
JuergenSchuele 7:dd77d598e6cb 36 }
JuergenSchuele 7:dd77d598e6cb 37
JuergenSchuele 7:dd77d598e6cb 38
JuergenSchuele 7:dd77d598e6cb 39 // Endless loop
JuergenSchuele 7:dd77d598e6cb 40 int32_t i=0;
screamer 0:005629fe3609 41 while(1) {
JuergenSchuele 7:dd77d598e6cb 42 onboardLed.write(1); //switch on LED
JuergenSchuele 10:9a7884230fd8 43 wait_ms(300);
JuergenSchuele 7:dd77d598e6cb 44 onboardLed.write(0); //switch off
JuergenSchuele 7:dd77d598e6cb 45 wait_ms(700);
JuergenSchuele 7:dd77d598e6cb 46 pc.printf("This program runs since %d (0x%X) seconds.\n\r", i,i);
JuergenSchuele 8:0cfa131f854c 47 if (userButton==PRESSED) {
JuergenSchuele 7:dd77d598e6cb 48 pc.printf("Userbutton pressed\n\r");
JuergenSchuele 7:dd77d598e6cb 49 }
JuergenSchuele 7:dd77d598e6cb 50 i++; //increase loop counter
screamer 0:005629fe3609 51 }
screamer 0:005629fe3609 52 }