割り込みを利用して超音波測距センサーをバックグラウンドで計測し続けられます。

Dependents:   escapeFromYou Sample_LinetraceWithSonicDist

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