On the FRDM-KL25Z, when I declare pins PTA5 and PTD2 as PwmOut pins, they are locked together and can not be independently controlled. It doesn't matter if I change the PWM of PTA5 or PTD2. Whichever one is changed, the other one follows it. The simple code below should keep pin PTD2 at 0% pwm while pin PTA5 should switch between 50% and 0% every 0.5 seconds. Pin PTA5 does alternate between 50% and 0% pwm, but instead of staying at 0% pwm, pin PTD2 follows pin PTA5.
Fork of frdm_rgbled by
Diff: main.cpp
- Revision:
- 5:14891bb08b35
- Parent:
- 2:03e5c29343d1
- Child:
- 7:ad8295723268
--- a/main.cpp Tue Feb 19 23:47:40 2013 +0000 +++ b/main.cpp Thu Feb 20 17:42:26 2014 +0000 @@ -1,20 +1,17 @@ #include "mbed.h" -PwmOut r (LED_RED); -PwmOut g (LED_GREEN); -PwmOut b (LED_BLUE); +PwmOut r(LED_RED); +PwmOut g(LED_GREEN); int main() { r.period(0.001); g.period(0.001); - b.period(0.001); while (true) { 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.0025); } }