Measure the time interval between two consecutive rising edges
Dependencies: dispBoB mbed PCA9635
Diff: intervalMeasure.cpp
- Revision:
- 1:b56440e55747
- Parent:
- 0:37bc70ca825c
- Child:
- 2:62e168aedc9a
diff -r 37bc70ca825c -r b56440e55747 intervalMeasure.cpp --- a/intervalMeasure.cpp Mon Jul 11 13:42:00 2011 +0000 +++ b/intervalMeasure.cpp Mon Jul 11 13:53:32 2011 +0000 @@ -7,26 +7,26 @@ bool b = false; -void trig(){ //function to call upon interrupt +void trig(){ //function to call upon interrupt db.locate(0); - db.printf("%06d", t.read_ms()); + db.printf("%06d", t.read_ms()); //print current time reading if(b == false){ - t.start(); + t.start(); //start timer b = true; } else { - t.stop(); - db.printf("06d", t.read_ms()); - t.reset(); + t.stop(); //stop timer + db.printf("06d", t.read_ms()); //print out stopwatch time in milliseconds + t.reset(); //reset and restart timer t.start(); } } int main() { trigger.mode(PullUp); //activate internal pull up (hardware specific) - db.init(); + db.init(); //ALWAYS initialise the dispBoB db.cls(); //clear screen - trigger.rise(&trig); //attach count() to interrupt on rising edge of trigger + trigger.rise(&trig); //attach count() to interrupt on rising edge of trigger - db.printf("%06d", t.read_ms()); + db.printf("%06d", t.read_ms()); //print initial time reading (000000) }