void CXXXDlg::Init_GPIB()
{
#ifdef GPIB
unsigned long retCnt=0;
char instrDesc[100]={0};
ViSession defaultRM;
ViStatus status;
ViFindList find_list;
viOpenDefaultRM (&defaultRM);
status = viFindRsrc(defaultRM,"GPIB[0-9]*::?*::INSTR",&find_list, &retCnt, instrDesc);//GPIB?*INSTR,GPIB0::20::INSTR,GPIB[0-9]*::?*INSTR
status = viOpen(defaultRM,instrDesc,VI_NULL,VI_NULL, &vi_FSP);
if (status != VI_SUCCESS){//没有找到GPIB设备 GPIB[0-9]*::?*::INSTR
AfxMessageBox("频谱仪打开失败!");
viClose(vi_FSP);
viClose(defaultRM);
return;
}
viPrintf(vi_FSP,"SYST:DISP:UPDate ON\n");
viPrintf(vi_FSP,"SYST:PSAVE ON\n");
viPrintf(vi_FSP,"INIT:CONT ON\n");
viPrintf(vi_FSP,"FREQ:SPAN 100kHz\n");
// viGpibControlREN(vi_FSP,VI_GPIB_REN_ADDRESS_GTL);
// viPrintf(vi_FSP,"FREQ:CENT %ldHz\n",2400190461);
// viFindNext(find_list,instrDesc)
// status = viOpen(defaultRM,instrDesc,VI_NULL,VI_NULL, &pDlg->vi_SG);
TRACE("GPIB device : %s\n",instrDesc);
#endif
}
多个仪器可发送IDN?标准命令查询仪器名字,从而判断是哪种仪器。
VC 轮询仪器并打开
最新推荐文章于 2023-09-19 16:44:42 发布