InterruptIn

(2015.5.20 作成)

 GPIOピンによる割り込み処理を行います。マイコン機種依存が強いため、詳細はSTM32, Arduinoそれぞれのページを参照してください。

 また、プッシュボタンによる割り込み処理に使われることを想定して簡易なチャタリング防止コードも実装しています。具体的な処理はこちらのKenneth Kuhn’s Debounce Codeを参考にしています。管理人が試したところSTM32ではうまく動いたようですが、Arduinoでは何度か失敗していますので要改良ですね。。。

関数一覧

割り込みを許可する

プロトタイプ void enable_irq (void);
戻り値

なし

引数

なし

備考

このコマンド発行後割り込み処理が有効になります。

最初にコンストラクタ内で自動で呼び出されるのであまり出番はないかもしれません。

割り込みを停止する

プロトタイプ void disable_irq (void);
戻り値

なし

引数

なし

備考

割り込み処理を停止します。

チャタリング除去後のピン状態を返す

プロトタイプ uint8_t Debounce(void);
戻り値

チャタリング除去後安定したピンの値を返します。

HIGHなら1

引数

なし

備考

HIGHかLOWのどちらかの値で落ち着くまでピンの値を読んで確認し続けます。

列挙型

PinPuPdMode

Pull_Up プルアップに設定します
Pull_Down プルダウンに設定します
No_Pull  

ITmode

IT_Rising
立ち上がりエッジで割り込みを発生させます
IT_Falling 立ち下がりエッジで割り込みを発生させます
IT_Rising_Falling ピンが変化すると割り込みが発生します。