Juan Angel García
/
9_6
Timeout
main.cpp@0:2230d77b3015, 2017-03-09 (annotated)
- Committer:
- jangelgm
- Date:
- Thu Mar 09 21:44:09 2017 +0000
- Revision:
- 0:2230d77b3015
Timeout
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jangelgm | 0:2230d77b3015 | 1 | /*Program Example 9.6: Demonstrates Timeout, by triggering an event a fixed duration |
jangelgm | 0:2230d77b3015 | 2 | after a button press. |
jangelgm | 0:2230d77b3015 | 3 | */ |
jangelgm | 0:2230d77b3015 | 4 | #include "mbed.h" |
jangelgm | 0:2230d77b3015 | 5 | Timeout Response; //create a Timeout, and name it "Response" |
jangelgm | 0:2230d77b3015 | 6 | DigitalIn button (p5); |
jangelgm | 0:2230d77b3015 | 7 | DigitalOut led1(LED1); |
jangelgm | 0:2230d77b3015 | 8 | DigitalOut led2(LED2); |
jangelgm | 0:2230d77b3015 | 9 | DigitalOut led3(LED3); |
jangelgm | 0:2230d77b3015 | 10 | void blink() //this function is called at the end of the Timeout |
jangelgm | 0:2230d77b3015 | 11 | { |
jangelgm | 0:2230d77b3015 | 12 | led2 = 1; |
jangelgm | 0:2230d77b3015 | 13 | wait(0.5); |
jangelgm | 0:2230d77b3015 | 14 | led2=0; |
jangelgm | 0:2230d77b3015 | 15 | } |
jangelgm | 0:2230d77b3015 | 16 | int main() |
jangelgm | 0:2230d77b3015 | 17 | { |
jangelgm | 0:2230d77b3015 | 18 | while(1) { |
jangelgm | 0:2230d77b3015 | 19 | if(button==1) { |
jangelgm | 0:2230d77b3015 | 20 | Response.attach(&blink,2.0); // attach blink function to Response Timeout, |
jangelgm | 0:2230d77b3015 | 21 | //to occur after 2 seconds |
jangelgm | 0:2230d77b3015 | 22 | led3=1; //shows button has been pressed |
jangelgm | 0:2230d77b3015 | 23 | } else { |
jangelgm | 0:2230d77b3015 | 24 | led3=0; |
jangelgm | 0:2230d77b3015 | 25 | } |
jangelgm | 0:2230d77b3015 | 26 | led1=!led1; |
jangelgm | 0:2230d77b3015 | 27 | wait(0.2); |
jangelgm | 0:2230d77b3015 | 28 | } |
jangelgm | 0:2230d77b3015 | 29 | } |