BTMライブラリ(連照式 DIO 入力 )
機械式のボタンでは、チャタリングの発生により押し下げが正しく検知できない場合があります。BTMライブラリでは連照によりボタンの状態確定を行う方法を提供します。
初期化
以下の例では、8msごとの判定で、5連続で同一値となった場合に変化を確定します。判定は、外部の割り込みハンドラ(TimerTimer など)から呼び出します。
DIOの連照判定
以下の例ではTickTimerの割り込みハンドラ中でpr_BTM_handler
を呼び出します。IO 状態を読み出して、連照判定を実施します。状態が変化したときの取得方法は後述します。
またpr_BTM_handler
の引数としてタイマー周期を与えており、呼び出しごとにこの値分だけ時間が経過したとして内部計算されます。
DIOの変化の検出
bBTM_GetState()
関数を実行し TRUE
のときに、連照による変化があったと検出します。
bBTM_GetState()
呼び出し後、内部状態が読み出し済みに変化します。連続して呼び出しても2回目は FALSE
(変化なし)と返します。
以下の例では TickTimerのイベント(E_AHI_DEVICE_TICK_TIMER
)のイベント処理部で DIO の変化を確認しています。
最終更新