IBWAIT
ボードレベル/デバイスレベル
目的
定義されたGPIBイベントが発行されるまで待機します。
形式
C
unsigned long ibwait (int ud, int mask)
Visual Basic
CALL ibwait (ud%, mask%)
または
status% = ilwait (ud%, mask%)
対話式制御(使用に関する注意)
ibwait mask
入力
ud | ボードまたはデバイスデスクリプタ |
mask | 待機するGPIBイベントのビットマスク |
出力
関数からの戻り値 | Ibstaの値 |
説明
ibwaitは、マスクによって指定されたイベントを監視し、1つまたは複数のイベントが発生するまで待機します。マスクがゼロの場合、ibwaitは更新されたIbstaステータスワードとともに直ちに戻ります。待機マスクにTIMOが設定されている場合、ibwaitはタイムアウト時間が経過した時点で指定イベントが発生しない場合にコールを終了します。TIMOが待機マスクに設定されていない場合、この関数は指定されている1つまたは複数のイベントが発生するまで待ちます。現在使用できるibwaitマスクビットは、Ibstaのビットと同じです。udがデバイスデスクリプタの場合、有効な待機マスクビットは、TIMO、END、RQS、およびCMPLのみです。udがボードデスクリプタの場合、RQSを除くすべての待機マスクビットが有効です。タイムアウトの有効期限は、ibconfig関数(IbcTMOオプション)を使用して構成されます。
発生する可能性のあるエラー
EARG | maskに設定されたビットが無効です。 |
EBUS | デバイスレベル: デバイスがGPIBに接続されていません。 |
ECIC | デバイスレベル: アクセスボードがCICでありません。デバイスレベルのコールとバスの管理を参照してください。 |
EDVR | NI-488.2ドライバの構成またはインストールが正しくありません。 |
EHDL | udが無効または範囲外です。 |
ELCK | 他の処理によりロックされているため、要求された動作が行われませんでした。 |
ENEB | インタフェースが取り付けられていないか、正しく構成されていません。 |
ESRQ | デバイスレベル: RQSが待機マスクに設定されていると、ESRQはSRQが固定状態であることを示します。シリアルポーリングについての詳細は、シリアルポーリングの概要を参照してください。 |
EWIP | 指定されたユニットデスクリプタに対し、ibwaitコールが既に開始されています。 |
ERST | インタフェースのリセットが原因でイベント通知がキャンセルされました。 |