DioDmSetCountEvent


機能

指定個数転送完了のメッセージを通知するように設定します。

書式

Ret = DioDmSetCountEvent ( Id , Dir , Count ,CallBack, Param )

引数

Id [ C: short ] [ Python: ctypes.c_short ]
DioInitで取得したデバイスIDを指定します。

Dir [C:unsigned long] [Python: ctypes.c_ulong]
転送方向を設定してください。

定義

[Dec]

意味

DIODM_DIR_IN

1

入力

DIODM_DIR_OUT

2

出力

Count [ C:unsigned long ] [ Python: ctypes.c_ulong ]
データ転送個数を何個毎にメッセージを通知するかを設定してください。

デバイス名称

設定可能範囲

DIO-32DM3-PE

3 ≦Count ≦536,870,912(20000000H)

PIO-32DM(PCI)
DIO-32DM2-PE

1 ≦Count≦16,777,215(FFFFFFH)

CallBack[C:PDIO_COUNT_CALLBACK] [Python: PDIO_COUNT_CALLBACK]
コールバック関数のアドレスを指定します。

Param[C:void *] [Python: ctypes.c_void_p]
コールバック関数に渡したい任意のパラメータを指定します。

戻り値

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

ドライバを呼び出せません(デバイスI/Oコントロールに失敗)。

DIO_ERR_DLL_BUFF_ADDRESS

10100

データバッファアドレスが不正です。

DIO_ERR_DLL_CALLBACK

10400

コールバック関数のアドレスが無効です。

DIO_ERR_SYS_DIRECTION

50000

入出力方向が設定範囲外です。

DIO_ERR_SYS_COUNT

50011

データ転送個数が設定範囲外です。

その他のエラー(参照:エラーコード詳細

初期値

なし

説明

この関数を使用すると、サンプリング/ジェネレーティングの途中にコールバック関数で指定個数の転送完了を通知させることができます。入出力の周期に対して、Countで指定する個数が小さすぎた場合、速度的に速すぎてメッセージを通知できない場合があります。また、割り込みが頻繁に発生することによって、転送エラーの原因になることがあります。

使用例

C

Ret =DioDmSetCountEvent(Id, DIODM_DIR_IN, 500, CallBack, Param);
 

Python

Ret =cdio.DioDmSetCountEvent(Id, cdio.DIODM_DIR_IN, 500, CallBack, Param)
 

関連項目

PDIO_COUNT_CALLBACK