超时设置是在一定延迟之后调用一个函数。不限制所创建的函数的数量。
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);
}
}
以下是运行时的照片
|