[Atmel] 在mbed环境下跑一下SAMD21:mbed的超时

[复制链接]
924|0
 楼主| ddllxxrr 发表于 2016-3-28 13:35 | 显示全部楼层 |阅读模式
超时设置是在一定延迟之后调用一个函数。不限制所创建的函数的数量。
API汇总如下所示:
attach 附加超时调用的函数,以秒指定延迟
attach 附加一个超时调用的函数,以秒指定延迟
attach_us 附加超时调用的函数,以微秒指定延迟
attach_us 附加一个超时调用的成员函数,以微秒指定延迟
detach 分离函数

以下是程序:
在这里用了三个LED,一个按键十分我按下时,一个LED灭而经过延时时间另一个亮。
但注意,按键不可以在延时时间没有到时放开,这样的话延时那个灯不会亮。

  1. #include "mbed.h"
  2. Timeout Response;
  3. DigitalIn button(PA15);
  4. DigitalOut led1(PB30);
  5. DigitalOut led2(PA20);
  6. DigitalOut led3(PA21);
  7. void blink()
  8. {
  9.     led2 = 1;
  10.     wait(0.5);
  11.     led2 = 0;
  12.     }
  13. int main()
  14. {
  15.     while(1){
  16.         if(button==1)
  17.         {
  18.             Response.attach(&blink,2.0);
  19.             led3 = 1;
  20.             }
  21.         else{
  22.             led3 = 0;
  23.             }
  24.         led1 =!led1;
  25.         wait(0.2);
  26.         }
  27.     }
以下是运行时的照片


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2404

主题

7001

帖子

68

粉丝
快速回复 在线客服 返回列表 返回顶部