First Distance sensor attempt

Dependencies:   mbed

Fork of frdm_Distance by Flying Monkeys

Revision:
6:71c9054f905e
Parent:
5:9fcfddb46a8d
Child:
7:48b6ad2fc7cd
--- a/main.cpp	Sat Jun 27 22:55:17 2015 +0000
+++ b/main.cpp	Sat Jun 27 23:51:34 2015 +0000
@@ -11,25 +11,29 @@
 InterruptIn sw2(SW2);
 Serial      pc(USBTX, USBRX);
 Timer       timer;
-int ReStart, ReEnd;
+long ReEnd;
 
 void sw2_release(void)
 {
+        Trig = 0;
+        timer.reset();
+        wait_us(2);
         led_red = 0;
         led_green = 1;
         Trig = 1;
-        wait_us(10);
+        wait_us(15);
         Trig = 0;
-        timer.start();
-        while ( Re == 0){
-            wait_us(1); 
-    }
-        ReStart = timer.read_us();
-        while ( Re ) {
-            wait_us(1);
-    }
+        while (!Re) {
+            timer.start();
+        }
+        
+        while (Re){
+            timer.stop();
+        }
+        
+    
         ReEnd = timer.read_us();
-        pc.printf("Distance is %d cm \r\n" , (ReEnd-ReStart)/58 ); 
+        pc.printf("Distance is %d cm \r\n" , ReEnd ); 
     
 }
 
@@ -50,11 +54,12 @@
     
     pc.baud(115200);
     
-    sw2.rise(&sw2_release);
-    
-    sw2.fall(&sw2_press);
-    
+        
     pc.printf("Board has been reset \r\n");
         while (true) {
+           
+            sw2.rise(&sw2_release);
+    
+            sw2.fall(&sw2_press);
     }
 }