mbed RTOS Timer

Committer:
rkuo2000
Date:
Thu Oct 20 12:50:58 2016 +0000
Revision:
0:e29211fd226e
mbed RTOS Timer

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rkuo2000 0:e29211fd226e 1 #include "mbed.h"
rkuo2000 0:e29211fd226e 2 #include "rtos.h"
rkuo2000 0:e29211fd226e 3
rkuo2000 0:e29211fd226e 4 DigitalOut LED[4] = {
rkuo2000 0:e29211fd226e 5 DigitalOut(PD_8), // rgbled_B
rkuo2000 0:e29211fd226e 6 DigitalOut(PD_9), // rgbled_R
rkuo2000 0:e29211fd226e 7 DigitalOut(PA_4), // rgbled_G
rkuo2000 0:e29211fd226e 8 DigitalOut(PG_0) // greenled
rkuo2000 0:e29211fd226e 9 };
rkuo2000 0:e29211fd226e 10
rkuo2000 0:e29211fd226e 11 void blink(void const *n) {
rkuo2000 0:e29211fd226e 12 LED[(int)n] = !LED[(int)n];
rkuo2000 0:e29211fd226e 13 }
rkuo2000 0:e29211fd226e 14
rkuo2000 0:e29211fd226e 15 int main() {
rkuo2000 0:e29211fd226e 16 RtosTimer led_1_timer(blink, osTimerPeriodic, (void *)0);
rkuo2000 0:e29211fd226e 17 RtosTimer led_2_timer(blink, osTimerPeriodic, (void *)1);
rkuo2000 0:e29211fd226e 18 RtosTimer led_3_timer(blink, osTimerPeriodic, (void *)2);
rkuo2000 0:e29211fd226e 19 RtosTimer led_4_timer(blink, osTimerPeriodic, (void *)3);
rkuo2000 0:e29211fd226e 20
rkuo2000 0:e29211fd226e 21 led_1_timer.start(2000);
rkuo2000 0:e29211fd226e 22 led_2_timer.start(1000);
rkuo2000 0:e29211fd226e 23 led_3_timer.start(500);
rkuo2000 0:e29211fd226e 24 led_4_timer.start(250);
rkuo2000 0:e29211fd226e 25 Thread::wait(osWaitForever);
rkuo2000 0:e29211fd226e 26 }