RcvRespMsg

NI-488.2

RcvRespMsg


目的

トーカとしてアドレス指定されているデバイスからデータバイトを読み取ります。

形式

C

void RcvRespMsg (int boardID, void *buffer, size_t count, int termination)

Visual Basic

CALL RcvRespMsg (boardID%, buffer$, termination%)

対話式制御(使用に関する注意)

RcvRespMsg count termination

入力

boardID インタフェース番号
count 読み取るバイト数
termination データ終了モードの説明(STOPendまたは8ビットのEOS文字)

出力

buffer 受信したデータバイトの格納先

説明

RcvRespMsgは、最大countバイトをGPIBから読み取り、それらのバイトをbufferに格納します。countバイトに到達するまで、あるいは終了条件が検出されるまで、データバイトを読み取ります。終了条件がSTOPendの場合、EOIラインがアサートされた状態でバイトを受信した時点で読み取りを終了します。それ以外の場合は、8ビットのEOS文字を検出した時点で読み取りを終了します。転送された実際のバイト数はIbcntグローバル関数に返されます。

RcvRespMsgは、インタフェースがすでにリスンアクティブ状態で、デバイスがすでにトーカとしてアドレス指定されているものと仮定します(ReceiveSetupまたはReceiveを参照)。

発生する可能性のあるエラー

EABO すべてのバイトを受信する前にI/Oのタイムアウト時間が経過しました。
EADR インタフェースがリスンアクティブ状態でありません。 ReceiveSetupを使ってGPIBを正しくアドレス指定してください。
EARG terminationパラメータが無効です。STOPendまたは8ビットのEOS文字でなければなりません。
EDVR NI-488.2ドライバの構成またはインストールが正しくありません。
EHDL boardIDは範囲外です。
ELCK 他の処理によりロックされているため、要求された動作が行われませんでした。
ENEB インタフェースが取り付けられていないか、正しく構成されていません。
EOIP 非同期I/Oの処理中です。