![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
CQ出版社セミナ "実習・Armマイコン内蔵ペリフェラルを活用するためのC++プログラミング" で使う外付け回路のテスト
Dependencies: mbed UIT_SetOutputPortType UIT_AQM1602 UIT_ADT7410
PushButton/PushButton.hpp
- Committer:
- MikamiUitOpen
- Date:
- 2020-04-02
- Revision:
- 2:3f2be675f975
- Parent:
- 1:0a21041026c7
File content as of revision 2:3f2be675f975:
//------------------------------------------------------------------ // InterruptIn, Timeout を利用してチャタリングを防止するクラス,ヘッダ // 割込みサービス・ルーチンは非 static 関数にしている // // 2020/02/16, Copyright (c) 2020 MIKAMI, Naoki //------------------------------------------------------------------ #include "mbed.h" #ifndef PUSHBUTTON_CLASS_HPP #define PUSHBUTTON_CLASS_HPP namespace Mikami { class PushButton { public: enum RiseFall { RISE, FALL }; // コンストラクタ PushButton(PinName pin, PinMode mode, RiseFall rf, void (*Func)(), float time = 0.1); private: InterruptIn pbSw_; // Mbed オフィシャル・ライブラリのクラスのオブジェクト Timeout enabler_; // Mbed オフィシャル・ライブラリのクラスのオブジェクト void (*fp_)(); // コンストラクタの引数で与えられた関数に対応するポインタ float time_; // InterruptIn 割込みを無効にしている時間 // InterruptIn の割込みサービス・ルーチン void IsrIntrIn(); // Timeout の割込みサービス・ルーチン void IsrTimeout(); // コピー・コンストラクタおよび代入演算子の禁止のため PushButton(const PushButton& ); PushButton& operator=(const PushButton& ); }; } #endif // PUSHBUTTON_CLASS_HPP