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文字)
|
出力
説明
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の処理中です。 |