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.

Dependencies:   mbed

Fork of frdm_rgbled by Freescale

Committer:
emilmont
Date:
Tue Oct 23 09:33:36 2012 +0000
Revision:
2:03e5c29343d1
Parent:
1:eabc6f5b51d6
Child:
5:14891bb08b35
Update mbed library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
chris 0:cf8a48b1fb23 1 #include "mbed.h"
chris 0:cf8a48b1fb23 2
chris 1:eabc6f5b51d6 3 PwmOut r (LED_RED);
chris 1:eabc6f5b51d6 4 PwmOut g (LED_GREEN);
chris 1:eabc6f5b51d6 5 PwmOut b (LED_BLUE);
chris 0:cf8a48b1fb23 6
emilmont 2:03e5c29343d1 7 int main() {
chris 1:eabc6f5b51d6 8 r.period(0.001);
chris 1:eabc6f5b51d6 9 g.period(0.001);
chris 1:eabc6f5b51d6 10 b.period(0.001);
chris 1:eabc6f5b51d6 11
emilmont 2:03e5c29343d1 12 while (true) {
emilmont 2:03e5c29343d1 13 for (float i = 0.0; i < 1.0 ; i += 0.001) {
chris 1:eabc6f5b51d6 14 float p = 3 * i;
chris 1:eabc6f5b51d6 15 r = 1.0 - ((p < 1.0) ? 1.0 - p : (p > 2.0) ? p - 2.0 : 0.0);
chris 1:eabc6f5b51d6 16 g = 1.0 - ((p < 1.0) ? p : (p > 2.0) ? 0.0 : 2.0 - p);
emilmont 2:03e5c29343d1 17 b = 1.0 - ((p < 1.0) ? 0.0 : (p > 2.0) ? 3.0 - p : p - 1.0);
chris 1:eabc6f5b51d6 18 wait (0.0025);
chris 1:eabc6f5b51d6 19 }
chris 1:eabc6f5b51d6 20 }
chris 0:cf8a48b1fb23 21 }