VC 不用具体地址打开仪器

来源:互联网 发布:手机一玩游戏网络就卡 编辑:程序博客网 时间:2024/04/28 19:00

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?标准命令查询仪器名字,从而判断是哪种仪器。

0 0
原创粉丝点击