割り込みを利用して超音波測距センサーをバックグラウンドで計測し続けられます。
Dependents: escapeFromYou Sample_LinetraceWithSonicDist
Diff: SonicDist.h
- Revision:
- 8:8bb311d39a99
- Parent:
- 6:ba801e0b68df
--- a/SonicDist.h Sat Oct 08 22:15:39 2016 +0000 +++ b/SonicDist.h Thu Mar 02 18:01:45 2017 +0000 @@ -11,18 +11,22 @@ double read(void); double read_mm(void); double takeDist(void); + void Init(void); private: void releaseTrig(void); void setTrig(void); void endMeasure(void); + void FallNoiseCheck(void);//立ち下がりノイズの判定 void StartMeasure(void); double soundspeed;//音速 bool startflag; - Timeout systime; Ticker pulse; + Timeout Postponement;//ノイズ判定を行うための割り込み DigitalOut* trig; InterruptIn* echo; Timer echotime; + int distbuf;//仮格納距離(mm) + bool NoiseCheckFlag;//ノイズチェックが終了しているかの判定用 int dist;//距離(mm) }; #endif