■機能 非同期送信を行います。
■書式
(VB.NET用)
Dim Srlen, Ret As Integer
Dim Cmd(xxxx) As Integer ' (xxxxはコマンド配列数のMax値を指定)
Dim Srbuf(xxxx) As Byte ' (xxxxはデータ数のMax値を指定)
Ret = GpTalkAsync(Cmd, Srlen, Srbuf)
(C言語用)
DWORD Srlen, Ret;
DWORD *Cmd;
BYTE *Srbuf;
Ret = GpTalkAsync(Cmd, &Srlen, Srbuf);
(C#用)
uint Srlen, Ret;
uint[] Cmd = new uint[xxxx]; /* (xxxxはコマンド配列数のMax値を指定) */
string Srbuf;
Ret = gpib.TalkAsync(Cmd, out Srlen, Srbuf);
(Python用)
Srlen, Ret = ctypes.c_ulong(), ctypes.c_ulong()
Cmd = (ctypes.c_ulong * xxxx)() # (xxxxはコマンド配列数のMax値を指定)
Srbuf = (ctypes.c_ubyte * xxxx)() # (xxxxはデータ数のMax値を指定)
Ret.value = GpibPy.GpTalkAsync(Cmd, ctypes.byref(Srlen), Srbuf)
■モード マスタモード/スレーブモード
■引数
Cmd : コマンド配列
[0] トーカ+リスナ数(=リスナ数+1)
(スレーブモード=0)
[1] トーカアドレス
[2] リスナアドレス
[3] リスナアドレス
・
・
Srlen : (入力)送信バイト長(1Mbyte Max)
(出力)実際に送信したバイト長
Srbuf : 送信データ
SrbufB : 送信データ(Binaryデータ用)
Ret : 終了情報(戻り値)
0 : 正常終了
80 : 初期化未実行
140 : 他の非同期関数の実行中
190 : Eventオブジェクトの生成に失敗
200 : Threadの生成に失敗
GpCheckAsync()のErrCode
0 : 正常終了
141 : GpStopAsync()により中断
240 : ESCキーが押された
242 : アドレス指定ミス
243 : バッファ指定エラー
252 : GPIBエラー
254 : タイムアウト
255 : パラメータエラー
(詳細は「戻り値一覧」参照)
■補足
①送信完了の確認はGpCheckAsync()で行います。
正常に終了した場合、GpCheckAsync()の戻り値が0、第2引数ErrCodeの値が0になります。
②141、240、242、252、254、255の戻り値はこの関数からは直接返されません。
GpCheckAsync()の第2引数ErrCodeに返されます。
③コマンド配列についてCmd[0]には送出するコマンド数を与えますので、スレーブモード時はCmd[0]=0としてください。
④送信データ長=0のときには、1Mbyteを送信します。