![](/media/cache/group/DffTeam_Yf25WvB.jpg.50x50_q85.jpg)
Timeout
Dependencies: mbed
main.cpp@0:5129d7da056e, 2016-10-31 (annotated)
- Committer:
- MDevolution
- Date:
- Mon Oct 31 10:36:25 2016 +0000
- Revision:
- 0:5129d7da056e
Esercitazione5_5
Who changed what in which revision?
User | Revision | Line number | New 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 | } |