four leds are enlightened and dimmed by tickers.
Dependencies: mbed
Diff: timer_multi_blinky.cpp
- 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. +