我用VC編寫了測試6314GPIB命令的小程序,運行第一次可以控制,但運行第二次就不能向儀器寫命令了這是什么原因呢?
我寫的程序調(diào)用的是VISA自帶的例子,我只用了
viopen();
viwrite();
這兩個函數(shù)而已,通過viwrite()向6314寫命令,程序第一次可以正常運行,退出程序后,在打開程序時,提示viwrite()出錯.
Chroma提供的CVI驅(qū)動我也調(diào)用了,還是有同樣的問題,
我想是在退出時處理不正確吧,
不知6314在退出時要做什么特殊處理才不影響再次DOWNLOAD.
以下是我用VC寫的程序:
#include
#include
#include
#include
#include "visa.h"
static ViUInt32 rcount;
static unsigned char data[1024];
static ViStatus status;
static ViSession defaultRM;
static ViSession inst;
static char stringinstruct[1024];
int main(void)
{
status = viOpenDefaultRM (&defaultRM);
status = viOpen (defaultRM, "GPIB::7::INSTR", VI_NULL, VI_NULL, &inst);
strcpy (stringinstruct,"*IDN?\n");
status = viWrite (inst, (ViBuf)stringinstruct,strlen(stringinstruct), &rcount);
status = viRead (inst, data, 3000, &rcount);
cout< strcpy (stringinstruct,"CONFigure:REMote OFF");
status = viWrite (inst, (ViBuf)stringinstruct,strlen(stringinstruct), &rcount);
status = viClose (inst);
status = viClose (defaultRM);
return 0;
}