Task 3.2.2 Solution

Dependencies:   mbed

main.cpp

Committer:
noutram
Date:
2015-09-24
Revision:
0:363a62c6c97c

File content as of revision 0:363a62c6c97c:

#include "mbed.h"

DigitalOut  red_led(D7);
DigitalOut  yellow_led(D6);
DigitalOut  green_led(D5);
DigitalIn   SW1(D4);

//This is the solution based on the proposed flowchart.
//It is flawed however (see next exercise) due to
//switch bounce.

int main() {

    //Switch on Yellow and Green to indicate
    //that the code is running
    yellow_led = 1;
    green_led = 1;
    red_led = 0; //Set RED LED to OFF
    
    // Wait for SW1 to be pressed
    while (SW1 == 0) { }
    
    // Wait for SW1 to be released
    while (SW1 == 1) { }
    
    red_led = 1;    //Turn ON LED
    
    while (1) { }       //Repeat forever
}