超时设置是在一定延迟之后调用一个函数。不限制所创建的函数的数量。
API汇总如下所示:
attach 附加超时调用的函数,以秒指定延迟
attach 附加一个超时调用的函数,以秒指定延迟
attach_us 附加超时调用的函数,以微秒指定延迟
attach_us 附加一个超时调用的成员函数,以微秒指定延迟
detach 分离函数
以下是程序:
在这里用了三个LED,一个按键十分我按下时,一个LED灭而经过延时时间另一个亮。
但注意,按键不可以在延时时间没有到时放开,这样的话延时那个灯不会亮。
- #include "mbed.h"
- Timeout Response;
- DigitalIn button(PA15);
- DigitalOut led1(PB30);
- DigitalOut led2(PA20);
- DigitalOut led3(PA21);
- void blink()
- {
- led2 = 1;
- wait(0.5);
- led2 = 0;
- }
- int main()
- {
- while(1){
- if(button==1)
- {
- Response.attach(&blink,2.0);
- led3 = 1;
- }
- else{
- led3 = 0;
- }
- led1 =!led1;
- wait(0.2);
- }
- }
以下是运行时的照片
|