Timeout

Dependencies:   mbed

Committer:
MDevolution
Date:
Mon Oct 31 10:36:25 2016 +0000
Revision:
0:5129d7da056e
Esercitazione5_5

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MDevolution 0:5129d7da056e 1 /*Program Example 5: Demonstrates Timeout, by triggering an event a fixed duration after a button press.
MDevolution 0:5129d7da056e 2 */
MDevolution 0:5129d7da056e 3 #include "mbed.h"
MDevolution 0:5129d7da056e 4 Timeout Response; //create a Timeout, and name it "Response"
MDevolution 0:5129d7da056e 5 DigitalIn button (PC_13);
MDevolution 0:5129d7da056e 6 DigitalOut led1(LED1);
MDevolution 0:5129d7da056e 7 DigitalOut led2(D5);
MDevolution 0:5129d7da056e 8 DigitalOut led3(D6);
MDevolution 0:5129d7da056e 9
MDevolution 0:5129d7da056e 10 void blink(){
MDevolution 0:5129d7da056e 11 led2=1;
MDevolution 0:5129d7da056e 12 wait(1);
MDevolution 0:5129d7da056e 13 led2=0;
MDevolution 0:5129d7da056e 14 }
MDevolution 0:5129d7da056e 15
MDevolution 0:5129d7da056e 16 int main() {
MDevolution 0:5129d7da056e 17 //this function is called at the end of the Timeout
MDevolution 0:5129d7da056e 18 while(1){
MDevolution 0:5129d7da056e 19 if(button==0){
MDevolution 0:5129d7da056e 20 Response.attach(&blink,2.0); // attach blink function to Response Timeout, to occur after 2 seconds
MDevolution 0:5129d7da056e 21 led3=1; //shows button has been pressed
MDevolution 0:5129d7da056e 22 } else {
MDevolution 0:5129d7da056e 23 led3=0;
MDevolution 0:5129d7da056e 24 }
MDevolution 0:5129d7da056e 25 led1=!led1;
MDevolution 0:5129d7da056e 26 wait(0.2);
MDevolution 0:5129d7da056e 27 }
MDevolution 0:5129d7da056e 28 }