CVI通讯问题
沙漠幽灵 2014-03-20 11:03:45 这段代码显示
“NON-FATAL RUN-TIME ERROR: "M300.c", line 26, col 5, thread id 0x0000235C: Function viOpen: (return value == -1073807195 [0xbfff00a5]). 接口类型有效,但未配置指定的接口号。”
这样的错误,请各位大神帮忙解决!
代码如下:
#include <visa.h>
#include <ansi_c.h>
#include <cvirte.h>
#include <userint.h>
#include "M300.h"
static int panelHandle[12]={0};
static ViStatus status;
static ViSession defaultRM=0,instr=0;
int main (int argc, char *argv[])
{
if (InitCVIRTE (0, argv, 0) == 0)
return -1; /* out of memory */
if ((panelHandle[0] = LoadPanel (0, "M300.uir", PANEL)) < 0)
return -1;
panelHandle[1] = LoadPanel (0, "M300.uir", PANEL_2);
panelHandle[2] = LoadPanel (0, "M300.uir", PANEL_3);
panelHandle[3] = LoadPanel (0, "M300.uir", PANEL_4);
DisplayPanel (panelHandle[0]);
viOpenDefaultRM(&defaultRM);
viOpen(defaultRM,"GPIB0::7::INSTR",VI_NULL,VI_NULL,&instr);
viWrite(instr, "*IDN?\n",5, VI_NULL);
RunUserInterface ();
DiscardPanel (panelHandle[0]);
return 0;
}
int CVICALLBACK start (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
char ReadingS[1440];
switch (event)
{
case EVENT_COMMIT:
memset(ReadingS,0,sizeof(ReadingS));
viRead(instr,ReadingS,1440,VI_NULL);
printf("%s,123\n",ReadingS);
SetCtrlVal(panelHandle[0],PANEL_STRING,ReadingS);
break;
}
return 0;
}
int CVICALLBACK quit (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
viClose(instr);
QuitUserInterface(0);
break;
}
return 0;
}