
Timer
main.cpp@0:d50ef34ef9ae, 2015-09-09 (annotated)
- Committer:
- roosalyn
- Date:
- Wed Sep 09 07:45:57 2015 +0000
- Revision:
- 0:d50ef34ef9ae
Timer
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
roosalyn | 0:d50ef34ef9ae | 1 | #include "mbed.h" |
roosalyn | 0:d50ef34ef9ae | 2 | |
roosalyn | 0:d50ef34ef9ae | 3 | DigitalIn button(PTA4); |
roosalyn | 0:d50ef34ef9ae | 4 | DigitalOut blue(LED3); |
roosalyn | 0:d50ef34ef9ae | 5 | Timer timer; |
roosalyn | 0:d50ef34ef9ae | 6 | int nBlinky = 1; |
roosalyn | 0:d50ef34ef9ae | 7 | int buttonState = 1; |
roosalyn | 0:d50ef34ef9ae | 8 | |
roosalyn | 0:d50ef34ef9ae | 9 | void blinkRed(int nblinks) { |
roosalyn | 0:d50ef34ef9ae | 10 | for (int i=0; i < nblinks; i++) { |
roosalyn | 0:d50ef34ef9ae | 11 | blue.write(0); |
roosalyn | 0:d50ef34ef9ae | 12 | wait(0.2); |
roosalyn | 0:d50ef34ef9ae | 13 | blue.write(1); |
roosalyn | 0:d50ef34ef9ae | 14 | wait(0.2); |
roosalyn | 0:d50ef34ef9ae | 15 | } |
roosalyn | 0:d50ef34ef9ae | 16 | } |
roosalyn | 0:d50ef34ef9ae | 17 | |
roosalyn | 0:d50ef34ef9ae | 18 | bool buttonPressed(){ |
roosalyn | 0:d50ef34ef9ae | 19 | |
roosalyn | 0:d50ef34ef9ae | 20 | if (button.read() == 0 && buttonState == 1){ |
roosalyn | 0:d50ef34ef9ae | 21 | buttonState = 0; |
roosalyn | 0:d50ef34ef9ae | 22 | return true; |
roosalyn | 0:d50ef34ef9ae | 23 | } |
roosalyn | 0:d50ef34ef9ae | 24 | if (button.read() == 1 && buttonState == 0){ |
roosalyn | 0:d50ef34ef9ae | 25 | buttonState = 1; |
roosalyn | 0:d50ef34ef9ae | 26 | } |
roosalyn | 0:d50ef34ef9ae | 27 | return false; |
roosalyn | 0:d50ef34ef9ae | 28 | } |
roosalyn | 0:d50ef34ef9ae | 29 | |
roosalyn | 0:d50ef34ef9ae | 30 | void count() { |
roosalyn | 0:d50ef34ef9ae | 31 | if (buttonPressed()) { |
roosalyn | 0:d50ef34ef9ae | 32 | nBlinky++; |
roosalyn | 0:d50ef34ef9ae | 33 | } |
roosalyn | 0:d50ef34ef9ae | 34 | } |
roosalyn | 0:d50ef34ef9ae | 35 | |
roosalyn | 0:d50ef34ef9ae | 36 | int main() |
roosalyn | 0:d50ef34ef9ae | 37 | { |
roosalyn | 0:d50ef34ef9ae | 38 | blue = 1; |
roosalyn | 0:d50ef34ef9ae | 39 | |
roosalyn | 0:d50ef34ef9ae | 40 | while (true) { |
roosalyn | 0:d50ef34ef9ae | 41 | if (buttonPressed()) { |
roosalyn | 0:d50ef34ef9ae | 42 | timer.reset(); |
roosalyn | 0:d50ef34ef9ae | 43 | timer.start(); |
roosalyn | 0:d50ef34ef9ae | 44 | nBlinky = 1; |
roosalyn | 0:d50ef34ef9ae | 45 | while (timer.read_ms() <= 2000) { |
roosalyn | 0:d50ef34ef9ae | 46 | count(); |
roosalyn | 0:d50ef34ef9ae | 47 | } |
roosalyn | 0:d50ef34ef9ae | 48 | blinkRed(nBlinky); |
roosalyn | 0:d50ef34ef9ae | 49 | } |
roosalyn | 0:d50ef34ef9ae | 50 | |
roosalyn | 0:d50ef34ef9ae | 51 | } |
roosalyn | 0:d50ef34ef9ae | 52 | } |