LPC800-MAX RGB demo using SCT and MRT
LPC800-MAX RGB demo using State-Configurable Timer(SCT) and Multi-Rate Timer(MRT).
http://www.youtube.com/watch?v=PABxoWZB0YM
Diff: main.cpp
- Revision:
- 1:4e19f154ec21
- Parent:
- 0:f86c572491c3
diff -r f86c572491c3 -r 4e19f154ec21 main.cpp --- a/main.cpp Mon Oct 15 12:19:12 2012 +0000 +++ b/main.cpp Mon Oct 14 03:59:30 2013 +0000 @@ -1,3 +1,29 @@ +#ifdef TARGET_LPC812 +#include "mbed.h" +#include "SCT_PWM.h" +#include "MRT.h" + +SCT_PWM r (LED_RED, 0); +SCT_PWM g (LED_GREEN, 1); +SCT_PWM b (LED_BLUE, 2); + +int main() +{ + MRT* mrt = new MRT(); + r.period(0.001); + while(1) { + for(float i = 0.0; i < 1.0 ; i += 0.001) { + float p = 3 * i; + r = 1.0 - ((p < 1.0) ? 1.0 - p : (p > 2.0) ? p - 2.0 : 0.0); + g = 1.0 - ((p < 1.0) ? p : (p > 2.0) ? 0.0 : 2.0 - p); + b = 1.0 - ((p < 1.0) ? 0.0 : (p > 2.0) ? 3.0 - p : p - 1.0); ; + mrt->wait_ms(10); + } + } +} + +#else +// http://mbed.org/users/chris/code/app-board-RGB/ #include "mbed.h" PwmOut r (p23); @@ -16,4 +42,5 @@ wait (0.01); } } -} \ No newline at end of file +} +#endif