IBWRT
ボードレベル/デバイスレベル
目的
ユーザバッファからデバイスにデータを書き込みます。
形式
C
unsigned long ibwrt (int ud, const void *wrtbuf, size_t count)
Visual Basic
CALL ibwrt (ud%, wrtbuf$)
または
status% = ilwrt (ud%, wrtbuf$, count&)
対話式制御(使用に関する注意)
ibwrt wrtbuf
入力
ud | ボードまたはデバイスデスクリプタ |
wrtbuf | 書き込むバイトが格納されているバッファのアドレス |
count | 書き込むバイト数 |
出力
関数からの戻り値 | Ibstaの値 |
説明
デバイスレベル
udがデバイスデスクリプタの場合、ibwrtはGPIBのアドレスを指定し、countバイトをwrtbufで指定されたメモリ位置からGPIBデバイスに書き込みます。countバイトが送信されると操作は正常終了します。タイムアウト時間内にcountバイトが送信できないと、処理はエラーで終了します。転送された実際のバイト数はIbcntグローバル関数に返されます。
ボードレベル
udがボードデスクリプタの場合、ibwrtはwrtbufによって指定されたバッファからcountバイトをGPIBデバイスに書き込みます。 ボードレベルのibwrtは、GPIBがすでに正しくアドレス指定されているものと仮定します。countバイトが送信されると操作は正常終了します。countバイトをタイムアウト時間内に送信できなかったり、ボードがCICでない場合、CICがGPIB上でDCL(Device Clear: デバイスクリア)を送信すると、エラーが発生して操作が終了します。転送された実際のバイト数はIbcntグローバル関数に返されます。
発生する可能性のあるエラー
EABO | タイムアウト時間内にcountバイトを送信しなかったか、または書き込み操作を開始後にDCL(Device Clear: デバイスクリア)を受信しました。 |
EADR | ボードレベル: GPIBが正しくアドレス指定されませんでした。ibcmdを使ってGPIBをアドレス指定してください。 |
デバイスレベル: デバイスのGPIBアドレスとアクセスボードのGPIBアドレス間に競合が存在します。代わりにIbcPAD(IbcSADとibconfig)を使用してください。 | |
EARG | バッファまたはcountが無効です。 |
EBUS | デバイスレベル: デバイスがGPIBに接続されていません。 |
ECIC | デバイスレベル: アクセスボードがCICでありません。デバイスレベルのコールとバスの管理を参照してください。 |
EDVR | NI-488.2ドライバの構成またはインストールが正しくありません。 |
EHDL | udが無効または範囲外です。 |
ELCK | 他の処理によりロックされているため、要求された動作が行われませんでした。 |
ENEB | インタフェースが取り付けられていないか、正しく構成されていません。 |
ENOL | バス上にリスナが検出されませんでした。 |
EOIP | 非同期I/Oの処理中です。 |