コールバックルーチンの関数登録の流れ
・コールバックルーチンの関数プロトタイプ定義の確認
・コールバックルーチンの作成
・コールバックルーチンの設定
以下、カウント一致の通知のコールバック関数の使い方の説明しています。
これらの具体的なコーディング内容につきましては、サンプルプログラムをご参照ください。
カウンタエラーの通知、キャリー/ボローの通知、タイマーの通知、サンプリング停止の通知、
指定個数サンプリング完了の通知 のコールバック関数については、
ccnt.pyファイル中の記述を参照した上で、プロトタイプ関数を読替え参考にしてください。
コールバック関数の関数プロトタイプ定義の確認
Pythonでコールバック関数を扱うには、関数プロトタイプの定義が必要です。
各コールバックルーチン用の関数プロトタイプ宣言は、ccnt.pyファイル中に記述されています。
関数プロトタイプの内容を確認ください。
カウント一致の通知の場合
PCNT_MATCH_CALLBACK = ctypes.WINFUNCTYPE(None,
ctypes.c_short, ctypes.wintypes.WPARAM,
ctypes.wintypes.LPARAM, ctypes.c_void_p)
コールバック関数の作成
コールバック関数は次の書式になります。関数名は任意です。
カウント一致の通知の場合
def count_call_back(dev_id, wparam, lparam, param):
・・・・・
retrun
pcount_callback = ccnt.PCNT_MATCH_CALLBACK(count_call_back)
コールバック関数の設定
CntInit関数で取得したcnt_idを利用し、作成したコールバックルーチンを以下のように設定します。
カウント一致の通知の場合
lret.value = ccnt.CntCountUpCallbackProc(cnt_id, pcount_callback, "Match Count")