タイマと同期する関数と周期的割込みとサポートする.登録した際のプログラム名:Demo_MyTicker7.

Dependents:   Demo_MyTicker7 F446_DSP_FunctionGenerator TrG_FunctionGenerator DSP_Seminar_FunctionGenerator

Revision:
0:329029faa850
Child:
1:f4269105fae0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MyTicker7.hpp	Mon Jun 01 04:04:37 2020 +0000
@@ -0,0 +1,43 @@
+//-----------------------------------------------------------
+// タイマを使った正確な同期の実現, TIM10 を使用
+//
+//  2020/06/01, Copyright (c) 2020 MIKAMI, Naoki
+//-----------------------------------------------------------
+
+#include "mbed.h"
+
+#ifndef MYTICKER7_HPP
+#define MYTICKER7_HPP
+
+namespace Mikami
+{
+    class MyTicker7
+    {
+    public:
+        // コンストラクタ
+        //      period  時間間隔 [μs]
+        explicit MyTicker7(float period);
+
+        // コンストラクタで設定した時間が経過するまで待つ
+        void Sync();
+
+        // クラス内 ISR で実行する関数の割当て,割込みを有効にする
+        void Attach(void (*Func)());
+
+        // 割込みを無効にする
+        void Disable() { MY_TIM_->DIER &= ~TIM_DIER_UIE; }
+        // 割込みを有効にする
+        void Enable() { MY_TIM_->DIER |= TIM_DIER_UIE; }
+
+    private:
+        static TIM_TypeDef* const MY_TIM_;
+        static void (*fp)();    // 割込みサービス・ルーチンの中で実行される関数のポインタ
+        static void Isr();      // カラス内の割込みサービス・ルーチン
+        static bool created_;   // オブジェクトの多重生成禁止のため
+
+        // コピー・コンストラクタ,代入演算子の禁止のため
+        MyTicker7(const MyTicker7&);
+        MyTicker7& operator=(const MyTicker7&);
+    };
+}
+#endif  // MYTICKER7_HPP
\ No newline at end of file