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

Committer:
va009039
Date:
Mon Oct 14 03:59:30 2013 +0000
Revision:
1:4e19f154ec21
Parent:
0:f86c572491c3
first commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
va009039 1:4e19f154ec21 1 #ifdef TARGET_LPC812
va009039 1:4e19f154ec21 2 #include "mbed.h"
va009039 1:4e19f154ec21 3 #include "SCT_PWM.h"
va009039 1:4e19f154ec21 4 #include "MRT.h"
va009039 1:4e19f154ec21 5
va009039 1:4e19f154ec21 6 SCT_PWM r (LED_RED, 0);
va009039 1:4e19f154ec21 7 SCT_PWM g (LED_GREEN, 1);
va009039 1:4e19f154ec21 8 SCT_PWM b (LED_BLUE, 2);
va009039 1:4e19f154ec21 9
va009039 1:4e19f154ec21 10 int main()
va009039 1:4e19f154ec21 11 {
va009039 1:4e19f154ec21 12 MRT* mrt = new MRT();
va009039 1:4e19f154ec21 13 r.period(0.001);
va009039 1:4e19f154ec21 14 while(1) {
va009039 1:4e19f154ec21 15 for(float i = 0.0; i < 1.0 ; i += 0.001) {
va009039 1:4e19f154ec21 16 float p = 3 * i;
va009039 1:4e19f154ec21 17 r = 1.0 - ((p < 1.0) ? 1.0 - p : (p > 2.0) ? p - 2.0 : 0.0);
va009039 1:4e19f154ec21 18 g = 1.0 - ((p < 1.0) ? p : (p > 2.0) ? 0.0 : 2.0 - p);
va009039 1:4e19f154ec21 19 b = 1.0 - ((p < 1.0) ? 0.0 : (p > 2.0) ? 3.0 - p : p - 1.0); ;
va009039 1:4e19f154ec21 20 mrt->wait_ms(10);
va009039 1:4e19f154ec21 21 }
va009039 1:4e19f154ec21 22 }
va009039 1:4e19f154ec21 23 }
va009039 1:4e19f154ec21 24
va009039 1:4e19f154ec21 25 #else
va009039 1:4e19f154ec21 26 // http://mbed.org/users/chris/code/app-board-RGB/
chris 0:f86c572491c3 27 #include "mbed.h"
chris 0:f86c572491c3 28
chris 0:f86c572491c3 29 PwmOut r (p23);
chris 0:f86c572491c3 30 PwmOut g (p24);
chris 0:f86c572491c3 31 PwmOut b (p25);
chris 0:f86c572491c3 32
chris 0:f86c572491c3 33 int main()
chris 0:f86c572491c3 34 {
chris 0:f86c572491c3 35 r.period(0.001);
chris 0:f86c572491c3 36 while(1) {
chris 0:f86c572491c3 37 for(float i = 0.0; i < 1.0 ; i += 0.001) {
chris 0:f86c572491c3 38 float p = 3 * i;
chris 0:f86c572491c3 39 r = 1.0 - ((p < 1.0) ? 1.0 - p : (p > 2.0) ? p - 2.0 : 0.0);
chris 0:f86c572491c3 40 g = 1.0 - ((p < 1.0) ? p : (p > 2.0) ? 0.0 : 2.0 - p);
chris 0:f86c572491c3 41 b = 1.0 - ((p < 1.0) ? 0.0 : (p > 2.0) ? 3.0 - p : p - 1.0); ;
chris 0:f86c572491c3 42 wait (0.01);
chris 0:f86c572491c3 43 }
chris 0:f86c572491c3 44 }
va009039 1:4e19f154ec21 45 }
va009039 1:4e19f154ec21 46 #endif