Blink an LED - embedded version of HelloWorld

Dependencies:   mbed

Fork of HelloWorld by Simon Ford

What Does It Do?

This code blinks the LED - the embedded version of the classic beginners' program Hello World.


The source code can be viewed at the bottom of this page by clicking on main.cpp.

However, the easiest way to use the code is to click on Import into Compiler from the Repository Toolbox on the right, as shown in the screen capture below:
This loads a copy of the code into your browser-based, online compiler. Click on Compile and in a few seconds your will have compiled your own Hello World!

By the way, edit and experiment as much as you want, because you cannot mess anything up - you can come back here any time and import again for a fresh start.

This code is identical to Simon Ford's /teams/mbed/code/mbed_blinky/ and ST's /teams/ST/code/Nucleo_blink_led/ except that this source contains extra comment lines.

What hardware does it work with?

Any of the official mbed platforms:

Library Information

The mbed library used by this code is currently /users/mbed_official/code/mbed/rev/093f2bd7b9eb, which is revision 140 of the official mbed 2 library. Revision 140 was released on April 12, 2017. You can verify this by viewing the contents of the mbed.bld file at the bottom of this page.

The mbed library is automatically imported when you import this code into your online editor - in general you don't need to do anything special.

mbed Library Source Code

One of the coollest features of mbed is that the mbed library source code is freely available.

You can find the library source code here This is not an easy read - if you are a beginner, you will probably find this intimidating. But, here it is, dig in!

If Your Compile Fails

If your compile fails, it's most likely that you are using brand new hardware that was not yet included when revision 140 of the mbed library was released. In that case, update to the latest library. (see below)

Updating to the Latest mbed Library

In your online compiler, click on "mbed" in your Program Workspace, as in the picture below:


Then, on the right side of your screen, under Library Build Details, click on Update, as seen in the picture below:


Notice how the Status line in the Library Build Details window (above) informs you new version available.

I will attempt to regularly update the code to use the latest mbed library version. If I fall behind, use the two simple steps described above to update it yourself!



File content as of revision 9:e3ebd58a24b4:

// Elementary code to blink an LED

// This code is identical to mbed_blinky, but has a few more comments, mostly for beginners.

// If this code fails to compile, you probably have new hardware. Read

// You can read the mbed home page assocated with this code here:

#include "mbed.h"       // This is how one imports the primary library functions on mbed

DigitalOut myled(LED1); // Configure LED1 pin as a digital output. LED1 is typically pre-defined in the code for your specific target board.

int main()              // Start of main program

    while(1)            // Start an endless loop 
    {                   // start of code block for endless loop
        myled = 1;      // Set pin high, turns LED off
        wait(0.2);      // Wait 0.2 seconds
        myled = 0;      // Set pin low, turns LED on
        wait(0.2);      // Wait 0.2 seconds
    }                   // end of code block for endless loop
}                       // end of main program