| 本帖最后由 ddllxxrr 于 2016-3-24 16:01 编辑 
 两个定时器同时运行,查经D21有5个16位定时器,可以让它们同时运行,下面的程序只运行两个,通过外接LED来实现,而外接的LED,
 一个红色一个绿色接到了PA20,PA21上,
 
 一个以快闪一个以慢闪,分别为两个函数每个函数都是取反,而定时的快慢靠定时记数来判断。
 
 程序如下:
 
 
 #include "mbed.h"
Timer timer_fast;
Timer timer_slow;
DigitalOut ledA(PA20);
DigitalOut ledB(PA21);
void task_fast(void);
void task_slow(void);
int main()
{
   timer_fast.start();
   timer_slow.start();
   while(1)
   {
       if(timer_fast.read()>0.2)
       {
          task_fast();
          timer_fast.reset();       
       }
       if(timer_slow.read()>1)
       {
           task_slow();
           timer_slow.reset();    
       }
   }
}
void task_fast(void)
{
    ledA =!ledA;
    }
    
void task_slow(void)
{
    ledB =!ledB;
    } 
 
 编译通过的载图如下:
 
 
 
 运行的截图如下:
 
 
 
 
 
 
 
 
 
 
 
 |