Dependencies:   mbed

Fork of frdm_Distance by Flying Monkeys

Committer:
danderson8814
Date:
Sat Jun 27 22:47:23 2015 +0000
Revision:
4:f6c0c1f2f5ef
Parent:
3:11c70b1b6934
Child:
5:9fcfddb46a8d
Huh

Who changed what in which revision?

UserRevisionLine numberNew contents of line
danderson8814 0:cfc5bd6037db 1 #include "mbed.h"
danderson8814 0:cfc5bd6037db 2
danderson8814 2:3e4aa1da40a5 3 // Initializing all ins and outs: Program should get distance in cm when switch 2 is pressed and release
danderson8814 2:3e4aa1da40a5 4 // and change LED from Green to red when Switch 2 is pressed
danderson8814 2:3e4aa1da40a5 5
danderson8814 3:11c70b1b6934 6 DigitalOut led_red(LED_RED);
danderson8814 3:11c70b1b6934 7 DigitalOut led_green(LED_GREEN);
danderson8814 4:f6c0c1f2f5ef 8 DigitalIn Re(D13);
danderson8814 4:f6c0c1f2f5ef 9 DigitalOut Trig(D12);
danderson8814 4:f6c0c1f2f5ef 10 DigitalOut Pwr(D11);
danderson8814 3:11c70b1b6934 11 InterruptIn sw2(SW2);
danderson8814 3:11c70b1b6934 12 Serial pc(USBTX, USBRX);
danderson8814 3:11c70b1b6934 13 Timer timer;
danderson8814 3:11c70b1b6934 14 int ReStart, ReEnd;
danderson8814 0:cfc5bd6037db 15
danderson8814 2:3e4aa1da40a5 16 void sw2_release(void)
danderson8814 0:cfc5bd6037db 17 {
danderson8814 1:0b176971be25 18 led_red = 0;
danderson8814 1:0b176971be25 19 led_green = 1;
danderson8814 3:11c70b1b6934 20 Trig = 1;
danderson8814 3:11c70b1b6934 21 wait_us(10);
danderson8814 3:11c70b1b6934 22 Trig = 0;
danderson8814 3:11c70b1b6934 23 timer.start();
danderson8814 3:11c70b1b6934 24 while ( Re == 0){
danderson8814 3:11c70b1b6934 25 wait_us(1);
danderson8814 3:11c70b1b6934 26 }
danderson8814 3:11c70b1b6934 27 ReStart = timer.read_us();
danderson8814 3:11c70b1b6934 28 while ( Re ) {
danderson8814 3:11c70b1b6934 29 wait_us(1);
danderson8814 3:11c70b1b6934 30 }
danderson8814 3:11c70b1b6934 31 ReEnd = timer.read_us();
danderson8814 4:f6c0c1f2f5ef 32 pc.printf("Distance is %d cm \r\n" , (ReEnd-ReStart)/58 );
danderson8814 2:3e4aa1da40a5 33
danderson8814 0:cfc5bd6037db 34 }
danderson8814 0:cfc5bd6037db 35
danderson8814 3:11c70b1b6934 36 void sw2_press(void)
danderson8814 3:11c70b1b6934 37 {
danderson8814 3:11c70b1b6934 38 led_red = 1 ;
danderson8814 3:11c70b1b6934 39 led_green = 0;
danderson8814 3:11c70b1b6934 40
danderson8814 3:11c70b1b6934 41 }
danderson8814 3:11c70b1b6934 42
danderson8814 3:11c70b1b6934 43
danderson8814 3:11c70b1b6934 44
danderson8814 0:cfc5bd6037db 45 int main()
danderson8814 0:cfc5bd6037db 46 {
danderson8814 3:11c70b1b6934 47 Trig = 0;
danderson8814 3:11c70b1b6934 48
danderson8814 4:f6c0c1f2f5ef 49 Pwr=1;
danderson8814 4:f6c0c1f2f5ef 50
danderson8814 4:f6c0c1f2f5ef 51 pc.baud(115200);
danderson8814 4:f6c0c1f2f5ef 52
danderson8814 0:cfc5bd6037db 53 sw2.rise(&sw2_release);
danderson8814 3:11c70b1b6934 54
danderson8814 3:11c70b1b6934 55 sw2.fall(&sw2_press);
danderson8814 3:11c70b1b6934 56
danderson8814 3:11c70b1b6934 57 while (true) {
danderson8814 0:cfc5bd6037db 58 }
danderson8814 0:cfc5bd6037db 59 }