[Atmel] mbed环境下SAMR21开发板12:定时器5

[复制链接]
 楼主| ddllxxrr 发表于 2016-2-19 21:18 | 显示全部楼层 |阅读模式
我们在使用Ticker对象的过程中还可以随时对Ticker设定的间隔进行更改,更改后的时间是即时生效的,如下面的代码,我们发现,用户每按一次按钮,led1的闪烁频率就会加快一倍。


下面的程序,充分利用SAM R21板子上的用户按键和LED。每当按下一次LED闪的速度就快一倍。




程序如下:


  1. #include "mbed.h"
  2. DigitalOut led1(LED1);

  3. InterruptIn btn(PA28);

  4. Ticker timer_led1;

  5. float interval;

  6. void led1flip()

  7. {

  8.     led1=!led1;

  9. }

  10. void changefred()

  11. {

  12.     interval=interval /2.0;

  13.     timer_led1.attach(&led1flip,interval);

  14. }

  15. int main() {

  16.     interval=2;

  17.     btn.fall(&changefred);

  18.     timer_led1.attach(&led1flip,interval);

  19.     while (1);



  20. }




以下是程序下载的截图:


下载后,每按一下用户按钮,LED闪的速度就快一倍,验证程序成功。

本帖子中包含更多资源

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

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

本版积分规则

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

2403

主题

6994

帖子

68

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