Measure the time interval between two consecutive rising edges
Dependencies: dispBoB mbed PCA9635
Diff: intervalMeasure.cpp
- Revision:
- 0:37bc70ca825c
- Child:
- 1:b56440e55747
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/intervalMeasure.cpp Mon Jul 11 13:42:00 2011 +0000 @@ -0,0 +1,32 @@ +#include "mbed.h" +#include "dispBoB.h" + +dispBoB db(p28, p27, p26); //instantiate a dispBoB object +InterruptIn trigger(p12); //set up the trigger as an external interrupt +Timer t; + +bool b = false; + +void trig(){ //function to call upon interrupt + db.locate(0); + db.printf("%06d", t.read_ms()); + if(b == false){ + t.start(); + b = true; + } else { + t.stop(); + db.printf("06d", t.read_ms()); + t.reset(); + t.start(); + } +} + +int main() { + trigger.mode(PullUp); //activate internal pull up (hardware specific) + db.init(); + db.cls(); //clear screen + trigger.rise(&trig); //attach count() to interrupt on rising edge of trigger + + db.printf("%06d", t.read_ms()); + +}