NL580
2017-08-07 06:46DELPHI如何通过VISA与USB设备通信
Private Sub Command1_Click()
Dim defrm As Long
Dim vi As Long
' 获得visa的usb资源
Call viOpenDefaultRM(defrm)
' 打开设备
Call viOpen(defrm, "USB0::0x1AB1::0x0E11::DP8F192200227::INSTR", 0, 0, vi)
'发送设置命令
Call viVPrintf(vi, ":OUTP CH1,ON" + Chr$(10), 0)
' 关闭资源
Call viClose(vi)
Call viClose(defrm)
End Sub
以上是VB编写的通过USB控制DP831直流电源的程序,测试没问题。但我将该段代码转换成Delphi后,运行报错,请高手指点下迷津!以下是我的Delphi代码
function viOpenDefaultRM(sesn1:PLongint):Longint;stdcall external 'visa32.dll';
function viOpen(sesn1:PLongint;rsrcName:PChar;acessMode:Longint;timeout:Longint;sesn2:PLongint):Longint;stdcall external 'visa32.dll';
function viPrintf( vi:PLongint; writeFmt:pchar;ss:Longint): integer; Cdecl; external 'VISA32.DLL' ;
function viClose(sesn:PLongint):Longint;stdcall external 'visa32.dll';
procedure TForm1.Button1Click(Sender: TObject);
var
defrm,vi:PLongint;
begin
// 获得visa的usb资源
viOpenDefaultRM(defrm);
//打开设备
viOpen(defrm,'USB0::0x1AB1::0x0E11::DP8F192200227::INSTR', 0, 0, vi);
//发送设置命令
viPrintf(vi,':OUTP CH1,ON'+#10, 0);
viClose(vi);
viClose(defrm);
end;
不知是哪里出了问题?
- 点赞
- 回答
- 收藏
- 复制链接分享
1条回答
为你推荐
- delphi 可以通过FDQuery来执行导入数据库操作吗?
- 开发语言
- 1个回答
- Delphi中 怎么将bytes 转换位steam
- 数据
- delphi
- 1个回答
- delphi panel隐藏的问题?
- delphi
- 1个回答
- delphi treeview高亮问题?
- 图片
- treeview
- delphi
- 1个回答
- delphi动态连接access
- access
- delphi
- 1个回答