four leds are enlightened and dimmed by tickers.

Dependencies:   mbed

Revision:
2:768c88a138c2
diff -r 75e11b7fe6d7 -r 768c88a138c2 timer_multi_blinky.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/timer_multi_blinky.cpp	Sun Apr 01 04:18:25 2018 +0000
@@ -0,0 +1,32 @@
+#include "mbed.h"
+
+Ticker timer1, timer2, timer3, timer4, timer5;
+DigitalOut digled1(LED1), digled2(LED2);
+PwmOut pwmled3(LED3), pwmled4(LED4);
+DigitalOut digout7(p7);
+Serial pc(USBTX, USBRX);
+
+void flipled1()  { digled1 = !digled1;}
+void flipled2 () { digled2 = !digled2; }
+void changeled3()
+{ static int seq=0;
+  seq=(seq+1) % 100; // 1-100
+  pwmled3.write(seq/200.0);    }
+void changeled4() 
+{ static int seq=0;
+  seq=(seq+1) % 100; // 1-100
+  pwmled4.write(seq/200.0);    }
+void report_led() 
+{ static int count=0;
+  pc.printf(" count:%d   %d  %d  %f  %f\r\n",
+            ++count, digled1.read(), digled2.read(), pwmled3.read(), pwmled4.read()); }
+
+int main() {
+   pc.printf("Timer driven multi led blinker.\n\r");
+   timer1.attach(&flipled1, 0.8);
+   timer2.attach(&flipled2, 0.35);
+   timer3.attach(&changeled3, 0.007);
+   timer4.attach(&changeled4, 0.013);
+   timer5.attach(&report_led, 1.0);
+   while(1) { digout7= ! digout7; }    } //See how fast GPIO can be toggled.
+