by Rob Toulson and Tim Wilmshurst from textbook "Fast and Effective Embedded Systems Design: Applying the ARM mbed"

Dependencies:   mbed

main.cpp

Committer:
robt
Date:
2013-05-24
Revision:
0:a4095d77cfff

File content as of revision 0:a4095d77cfff:

/*Program Example 9.6: Demonstrates Timeout, by triggering an event a fixed duration after a button press.                                         */ 

#include "mbed.h"
Timeout Response;            //create a Timeout, and name it "Response"
DigitalIn button (p5);
DigitalOut led1(LED1);
DigitalOut led2(LED2);
DigitalOut led3(LED3);

void blink() {               //this function is called at the end of the Timeout
  led2 = 1;
  wait(0.5);
  led2=0;
}

int main() {
  while(1) {
    if(button==1){
      Response.attach(&blink,2.0); // attach blink function to Response Timeout, 
                                           //to occur after 2 seconds
      led3=1;                      //shows button has been pressed
    }  
    else {
      led3=0;
    }
    led1=!led1;     
    wait(0.2);
  }
}