ER2

Dependencies:   mbed

Committer:
dorian06
Date:
Wed Jun 02 07:24:41 2021 +0000
Revision:
0:a6e925f144a4
capt

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dorian06 0:a6e925f144a4 1 #include "mbed.h"
dorian06 0:a6e925f144a4 2 AnalogOut trig(p16);
dorian06 0:a6e925f144a4 3 InterruptIn Echo(p15);
dorian06 0:a6e925f144a4 4 Timer T1;
dorian06 0:a6e925f144a4 5 Ticker T2;
dorian06 0:a6e925f144a4 6 void Trig(void);
dorian06 0:a6e925f144a4 7 void FM(void);
dorian06 0:a6e925f144a4 8 void FD(void);
dorian06 0:a6e925f144a4 9 float temp;
dorian06 0:a6e925f144a4 10 int main()
dorian06 0:a6e925f144a4 11 {
dorian06 0:a6e925f144a4 12 T2.attach(&Trig,1);
dorian06 0:a6e925f144a4 13 float dis;
dorian06 0:a6e925f144a4 14 Echo.rise(&FM);
dorian06 0:a6e925f144a4 15 Echo.fall(&FD);
dorian06 0:a6e925f144a4 16 while(1) {
dorian06 0:a6e925f144a4 17 dis =17/(100*temp);
dorian06 0:a6e925f144a4 18 printf("cm=%g\n\r",dis);
dorian06 0:a6e925f144a4 19
dorian06 0:a6e925f144a4 20
dorian06 0:a6e925f144a4 21 }
dorian06 0:a6e925f144a4 22 }
dorian06 0:a6e925f144a4 23
dorian06 0:a6e925f144a4 24 void Trig(void)
dorian06 0:a6e925f144a4 25 {
dorian06 0:a6e925f144a4 26 trig=1;
dorian06 0:a6e925f144a4 27 wait_us(50);
dorian06 0:a6e925f144a4 28 trig=0;
dorian06 0:a6e925f144a4 29 }
dorian06 0:a6e925f144a4 30 void FM(void)
dorian06 0:a6e925f144a4 31 {
dorian06 0:a6e925f144a4 32 T1.stop();
dorian06 0:a6e925f144a4 33 T1.reset();
dorian06 0:a6e925f144a4 34 T1.start();
dorian06 0:a6e925f144a4 35 }
dorian06 0:a6e925f144a4 36 void FD(void)
dorian06 0:a6e925f144a4 37 {
dorian06 0:a6e925f144a4 38 T1.stop();
dorian06 0:a6e925f144a4 39 temp=T1.read();
dorian06 0:a6e925f144a4 40 }