Dan Anderson
/
frdm_Distance1
First Distance sensor attempt
Fork of frdm_Distance by
Diff: main.cpp
- 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); } }