■機能 データを送出します。 VBでBinary送信を行う場合はGpTalkBinaryを使用してください。
■書式
(VB.NET用)
Dim Srlen, Ret As Integer
Dim Cmd(xxxx) As Integer ' (xxxxはコマンド配列数のMax値を指定)
Dim Srbuf As String
Ret = GpTalk(Cmd, Srlen, Srbuf)
(C言語用)
DWORD Srlen, Ret;
DWORD *Cmd;
char *Srbuf;
Ret = GpTalk(Cmd, Srlen, Srbuf);
(C#用)
uint Srlen, Ret;
uint[] Cmd = new uint[xxxx]; /* (xxxxはコマンド配列数のMax値を指定) */
string Srbuf;
Ret = gpib.Talk(Cmd, 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.GpTalk(Cmd, Srlen, Srbuf)
■モード マスタモード/スレーブモード
■引数
Cmd : コマンド配列
[0] トーカ+リスナ数(=リスナ数+1)
(スレーブモード=0)
[1] トーカアドレス
[2] リスナアドレス
[3] リスナアドレス
・
・
Srlen : 送信データ長(バイト)
Srbuf : 送信データ配列
SrbufB : 送信データ配列(Binary用)
Ret : 終了情報(戻り値)
0 : 正常終了
80 : 初期化未実行
140 : 非同期関数の実行中
240 : ESCキーが押された
242 : アドレス指定ミス
243 : バッファ指定エラー
252 : GPIBエラー
254 : タイムアウト
255 : パラメータエラー
(詳細は「戻り値一覧」参照)
■補足
①コマンド配列について
Cmd[0]には送出するコマンド数を与えますので、スレーブモード時はCmd[0]=0としてください。
②送信データ長=0のときには、1Mbyteを送信します。
③DOS版をご利用頂いたことがある方へ
DOSからの変更点として、FIFO、DMAの使用時にもDmainuse関数の実行の必要はありません。
内部で同様の処理を行っており、この関数だけで送信が完了します。