(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のどちらかの値で落ち着くまでピンの値を読んで確認し続けます。 |
Pull_Up | プルアップに設定します |
Pull_Down | プルダウンに設定します |
No_Pull |
IT_Rising |
立ち上がりエッジで割り込みを発生させます |
IT_Falling | 立ち下がりエッジで割り込みを発生させます |
IT_Rising_Falling | ピンが変化すると割り込みが発生します。 |