Receive

NI-488.2

Receive


目的

デバイスからデータバイトを読み取ります。

形式

C

void Receive (int boardID, Addr4882_t address, void *buffer, size_t count, int termination)

Visual Basic

CALL Receive (boardID%, address%, buffer$, termination%)

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

Receive address count termination

入力

boardID インタフェース番号
address データを受信するデバイスのアドレス
count 読み出すバイト数
termination データ終了モードの記述(STOPendまたはEOS文字)

出力

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

説明

Receiveは、addressで指定されたデバイスをトーカとして、インタフェースをリスナとしてアドレス指定します。次に、最大countバイトを読み取り、バッファに配置します。countバイトに到達するまで、あるいは終了条件が検出されるまで、データバイトを読み取ります。終了条件がSTOPendの場合、EOIラインがアサートされた状態でバイトを受信した時点で読み取りを終了します。それ以外の場合は、8ビットのEOS文字を検出した時点で読み取りを終了します。転送された実際のバイト数はIbcntグローバル関数に返されます。

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

EABO すべてのバイトを受信する前にI/Oのタイムアウト時間が経過しました。
EARG addressまたはterminationパラメータが無効です。Addressは、有効なプライマリアドレスとセカンダリアドレスのペアでなければなりません。このパラメータに定数NOADDRを入力することはできません。
EBUS デバイスがGPIBに接続されていません。
ECIC インタフェースがCIC(Controller-In-Charge: コントローラインチャージ)でありません。SendIFCを参照してください。
EDVR NI-488.2ドライバの構成またはインストールが正しくありません。
EHDL boardIDは範囲外です。
ELCK 他の処理によりロックされているため、要求された動作が行われませんでした。
ENEB インタフェースが取り付けられていないか、正しく構成されていません。
EOIP 非同期I/Oの処理中です。