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