ticker example

Dependencies:   mbed

Committer:
kaushalpkk
Date:
Thu Jul 12 17:28:58 2018 +0000
Revision:
0:197d7658e2be
commit;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kaushalpkk 0:197d7658e2be 1 #include "mbed.h"
kaushalpkk 0:197d7658e2be 2
kaushalpkk 0:197d7658e2be 3 Ticker flipper;
kaushalpkk 0:197d7658e2be 4 DigitalOut led1(LED1);
kaushalpkk 0:197d7658e2be 5 DigitalOut led2(LED4);
kaushalpkk 0:197d7658e2be 6 InterruptIn button(p14);
kaushalpkk 0:197d7658e2be 7
kaushalpkk 0:197d7658e2be 8
kaushalpkk 0:197d7658e2be 9 void flip() {
kaushalpkk 0:197d7658e2be 10 led2 = !led2;
kaushalpkk 0:197d7658e2be 11 }
kaushalpkk 0:197d7658e2be 12
kaushalpkk 0:197d7658e2be 13 void press(){
kaushalpkk 0:197d7658e2be 14 flipper.detach();
kaushalpkk 0:197d7658e2be 15 flipper.attach(&flip, 0.3);
kaushalpkk 0:197d7658e2be 16 }
kaushalpkk 0:197d7658e2be 17
kaushalpkk 0:197d7658e2be 18 void release(){
kaushalpkk 0:197d7658e2be 19 flipper.detach();
kaushalpkk 0:197d7658e2be 20 flipper.attach(&flip, 2.0);
kaushalpkk 0:197d7658e2be 21 }
kaushalpkk 0:197d7658e2be 22
kaushalpkk 0:197d7658e2be 23 int main() {
kaushalpkk 0:197d7658e2be 24 led2 = 1;
kaushalpkk 0:197d7658e2be 25 wait(1);
kaushalpkk 0:197d7658e2be 26 flipper.attach(&flip, 2.0); // the address of the function to be attached (flip) and the interval (2 seconds)
kaushalpkk 0:197d7658e2be 27 button.rise(&press);
kaushalpkk 0:197d7658e2be 28 button.fall(&release);
kaushalpkk 0:197d7658e2be 29
kaushalpkk 0:197d7658e2be 30
kaushalpkk 0:197d7658e2be 31 // spin in a main loop. flipper will interrupt it to call flip
kaushalpkk 0:197d7658e2be 32 while(1) {
kaushalpkk 0:197d7658e2be 33 led1 = !led1;
kaushalpkk 0:197d7658e2be 34 wait(2);
kaushalpkk 0:197d7658e2be 35 }
kaushalpkk 0:197d7658e2be 36 }