機能
割り込みイベント要因を設定します。
書式
Ret = DioSetInterruptEvent ( Id , BitNo , Logic )
引数
Id
[ C: short ] [ Python: ctypes.c_short ]
DioInitで取得したデバイスIDを指定します。
BitNo
[C: short ] [ Python: ctypes.c_short ]
入力論理ビット番号を指定します。このビット番号は、ハードウェア上で割り込みとして使用可能なビットでなければなりません。
Logic
[ C: short ] [ Python: ctypes.c_short ]
割り込み論理を以下の定義値の何れかで指定します。
定義 |
値 [Dec] |
意味 |
DIO_INT_NONE |
0 |
割り込みをマスクする |
DIO_INT_RISE |
1 |
入力値0 -> 1 |
DIO_INT_FALL |
2 |
入力値1 -> 0 |
戻り値
Ret [ C: long ] [ Python: ctypes.c_long ]
定義 |
値 [Dec] |
意味 |
DIO_ERR_SUCCESS |
0 |
正常終了 |
DIO_ERR_DLL_INVALID_ID |
10001 |
無効なIDが指定されました。 |
DIO_ERR_DLL_CALL_DRIVER |
10002 |
ドライバを呼び出せません(ioctlに失敗)。 |
DIO_ERR_SYS_NOT_SUPPORTED |
20001 |
このデバイスではこの関数は使用できません。 |
DIO_ERR_SYS_INT_BIT |
20200 |
割り込みビットが指定可能範囲外です。 |
DIO_ERR_SYS_INT_LOGIC |
20201 |
割り込み論理が指定可能範囲外です。 |
その他のエラー(参照:エラーコード詳細)
説明
割り込みイベントを開始/停止する場合に指定します。
割り込みを実際に受け付けるのはコールバック関数になります。コールバック関数はDioSetInterruptCallBackProcで指定します。
USBデバイスの場合、割り込みイベントを受け付けることができるのは1プロセスのみです。
同一のデバイスから複数プロセスに対してメッセージを送出することはできません。
なお、この機能を使用するためには、ハードウェアが割り込みをサポートしている必要があります。
Ethernetデバイスの場合
デバイスとの通信が途切れるとプロセスの登録が解除され、イベントが通知されなくなります。
イベント通知を再び行う場合、本関数で再度設定を行ってしてください。
現在のプロセスの登録状況は、DioGetNetCommunicationInfo関数で確認できます。
使用例
C |
Ret = DioSetInterruptEvent(Id,
BitNo, DIO_INT_RISE); |
Python |
Ret = cdio.DioSetInterruptEvent(Id,
BitNo, cdio.DIO_INT_RISE) |
関連項目
DioSetInterruptCallBackProc 割り込み DioGetNetCommunicationInfo