本帖最后由 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;
}
编译通过的载图如下:
运行的截图如下:
|