ticker example
Dependencies: mbed
main.cpp@0:197d7658e2be, 2018-07-12 (annotated)
- Committer:
- kaushalpkk
- Date:
- Thu Jul 12 17:28:58 2018 +0000
- Revision:
- 0:197d7658e2be
commit;
Who changed what in which revision?
User | Revision | Line number | New 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 | } |