q
Dependents: NHK2020-main NHK2020-main1 NHK2020_main_ros1_2_25
uw.cpp
- Committer:
- yuki0701
- Date:
- 2019-12-11
- Revision:
- 10:c5ad8660c8fd
- Parent:
- 7:9380ae04df1b
File content as of revision 10:c5ad8660c8fd:
#include "uw.h" #include "mbed.h" Uw::Uw(PinName uw) : uw_(uw) { dist = 0; } double Uw::get_dist(int rank){ double res; uw_.output(); uw_=0; wait_us(10); uw_=1; wait_us(5); uw_=0; uw_.input(); t.start(); int flag = 0; while(!uw_){ t.reset(); t.start(); //printf("uw fail\n\r"); flag++; if(flag>2000){ flag = 0; return -1; } } do{ res=t.read_us(); }while(uw_); t.reset(); t.stop(); dist=(res/2)/29.1; //[cm]=[m/us]/[1/(us*100)] // = *343.6 //[cm]=[m/us]*[us*100] switch(rank){ case 1: return dist*10; case 2: return dist*0.01; default: return dist; } }