[Atmel] 在mbed环境下跑一下SAMD21:定时器2

[复制链接]
1040|0
 楼主| ddllxxrr 发表于 2016-3-24 15:59 | 显示全部楼层 |阅读模式
本帖最后由 ddllxxrr 于 2016-3-24 16:01 编辑

两个定时器同时运行,查经D21有5个16位定时器,可以让它们同时运行,下面的程序只运行两个,通过外接LED来实现,而外接的LED,
一个红色一个绿色接到了PA20,PA21上,

一个以快闪一个以慢闪,分别为两个函数每个函数都是取反,而定时的快慢靠定时记数来判断。

程序如下:

  1. #include "mbed.h"
  2. Timer timer_fast;
  3. Timer timer_slow;

  4. DigitalOut ledA(PA20);
  5. DigitalOut ledB(PA21);

  6. void task_fast(void);
  7. void task_slow(void);

  8. int main()
  9. {
  10.    timer_fast.start();
  11.    timer_slow.start();
  12.    while(1)
  13.    {
  14.        if(timer_fast.read()>0.2)
  15.        {
  16.           task_fast();
  17.           timer_fast.reset();      
  18.        }
  19.        if(timer_slow.read()>1)
  20.        {
  21.            task_slow();
  22.            timer_slow.reset();   
  23.        }
  24.    }
  25. }

  26. void task_fast(void)
  27. {
  28.     ledA =!ledA;
  29.     }
  30.    
  31. void task_slow(void)
  32. {
  33.     ledB =!ledB;
  34.     }



编译通过的载图如下:



运行的截图如下:










本帖子中包含更多资源

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

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

本版积分规则

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

2404

主题

7001

帖子

68

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