CQエレクトロニクス・セミナ「実習・マイコンを動かしながら学ぶディジタル・フィルタ」で使うプログラムを,入力として STM32F746 の内蔵 ADC を使うように変更したもの. http://seminar.cqpub.co.jp/ccm/ES18-0020
Dependencies: mbed Array_Matrix BSP_DISCO_F746NG LCD_DISCO_F746NG TS_DISCO_F746NG
Diff: MyFiles/DelayedEnabler.hpp
- Revision:
- 2:dd48e1e59daa
- Parent:
- 1:501a83a5ee9d
--- a/MyFiles/DelayedEnabler.hpp Wed Nov 08 11:43:52 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ -//----------------------------------------------------------- -// ある機能を一定の時間が経過するまでは無効にし,その後有効に -// するためのクラス -// -// 2017/08/21, Copyright (c) 2017 MIKAMI, Naoki -//----------------------------------------------------------- - -#ifndef DELAYED_ENABLER_HPP -#define DELAYED_ENABLER_HPP - -#include "mbed.h" - -namespace Mikami -{ - class DelayedEnabler - { - public: - DelayedEnabler(float delayTime = 0.3f) - : DELAY_TIME_(delayTime), enable_(true) {} - - // このメンバ関数の実行直後から指定された時間,IsEnabled() は false を - // 返し,その後 InEnabled() は true を返す - void Disable() - { - enable_ = false; - Enabler_.attach(callback(this, &DelayedEnabler::TimeoutIsr), - DELAY_TIME_); - } - - bool IsEnabled() { return enable_; } - - private: - const float DELAY_TIME_; // 無効になっている時間 - - __IO bool enable_; - Timeout Enabler_; - - // 有効にする(Timeout 割り込みに対応する ISR) - void TimeoutIsr() { enable_ = true; } - }; -} -#endif // DELAYED_ENABLER_HPP