Richard Kuo
/
NTOUEE-mbed-RTOS-Timer
mbed RTOS Timer
main.cpp@0:e29211fd226e, 2016-10-20 (annotated)
- Committer:
- rkuo2000
- Date:
- Thu Oct 20 12:50:58 2016 +0000
- Revision:
- 0:e29211fd226e
mbed RTOS Timer
Who changed what in which revision?
User | Revision | Line number | New 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 | } |