Timer

Dependencies:   mbed

Committer:
roosalyn
Date:
Wed Sep 09 07:45:57 2015 +0000
Revision:
0:d50ef34ef9ae
Timer

Who changed what in which revision?

UserRevisionLine numberNew 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 }