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
main.cpp
- Committer:
- va009039
- Date:
- 2013-10-14
- Revision:
- 1:4e19f154ec21
- Parent:
- 0:f86c572491c3
File content as of revision 1:4e19f154ec21:
#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); PwmOut g (p24); PwmOut b (p25); int main() { 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); ; wait (0.01); } } } #endif