Test program making the LEDs blink.
Dependencies: mbed-rtos mbed-src
Fork of TestLPCBlinky by
main.cpp@2:2213da8308a3, 2014-10-26 (annotated)
- Committer:
- jmgomez
- Date:
- Sun Oct 26 17:06:47 2014 +0000
- Revision:
- 2:2213da8308a3
- Parent:
- 1:a33626482363
Just updated libraries
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
jmgomez | 0:1bbbbd316896 | 1 | #include <mbed.h> |
jmgomez | 0:1bbbbd316896 | 2 | #include <cmsis_os.h> |
jmgomez | 0:1bbbbd316896 | 3 | #include <stdint.h> |
jmgomez | 0:1bbbbd316896 | 4 | #include <limits.h> |
jmgomez | 0:1bbbbd316896 | 5 | |
jmgomez | 0:1bbbbd316896 | 6 | #define NUM_THREADS 6 |
jmgomez | 0:1bbbbd316896 | 7 | |
jmgomez | 1:a33626482363 | 8 | PwmOut red(LED1); |
jmgomez | 1:a33626482363 | 9 | PwmOut green(LED2); |
jmgomez | 1:a33626482363 | 10 | PwmOut blue(LED3); |
jmgomez | 0:1bbbbd316896 | 11 | |
jmgomez | 0:1bbbbd316896 | 12 | void Timer1_Callback (void const *arg) { |
jmgomez | 1:a33626482363 | 13 | red = red + 0.01; // update the counter |
jmgomez | 1:a33626482363 | 14 | if(red == 1.){ |
jmgomez | 1:a33626482363 | 15 | red = 0.0; |
jmgomez | 1:a33626482363 | 16 | } |
jmgomez | 0:1bbbbd316896 | 17 | } |
jmgomez | 0:1bbbbd316896 | 18 | |
jmgomez | 0:1bbbbd316896 | 19 | void Timer2_Callback (void const *arg) { |
jmgomez | 1:a33626482363 | 20 | blue = blue + 0.15; // update the counter |
jmgomez | 1:a33626482363 | 21 | if(blue == 1.){ |
jmgomez | 1:a33626482363 | 22 | blue = 0.0; |
jmgomez | 1:a33626482363 | 23 | } |
jmgomez | 0:1bbbbd316896 | 24 | } |
jmgomez | 0:1bbbbd316896 | 25 | |
jmgomez | 0:1bbbbd316896 | 26 | osTimerDef (timer1, Timer1_Callback); |
jmgomez | 0:1bbbbd316896 | 27 | osTimerDef (timer2, Timer2_Callback); |
jmgomez | 0:1bbbbd316896 | 28 | |
jmgomez | 0:1bbbbd316896 | 29 | int main (void) { |
jmgomez | 0:1bbbbd316896 | 30 | osTimerId id1; |
jmgomez | 0:1bbbbd316896 | 31 | osTimerId id2; |
jmgomez | 0:1bbbbd316896 | 32 | |
jmgomez | 0:1bbbbd316896 | 33 | green = 0; |
jmgomez | 0:1bbbbd316896 | 34 | id1 = osTimerCreate (osTimer(timer1), osTimerPeriodic, NULL); |
jmgomez | 0:1bbbbd316896 | 35 | osTimerStart (id1, 100UL); |
jmgomez | 0:1bbbbd316896 | 36 | id2 = osTimerCreate (osTimer(timer2), osTimerPeriodic, NULL); |
jmgomez | 0:1bbbbd316896 | 37 | osTimerStart (id2, 157UL); |
jmgomez | 0:1bbbbd316896 | 38 | green = 1; |
jmgomez | 0:1bbbbd316896 | 39 | } |