小弟最近在做用VC++编程控制agilent N9010A频谱仪。下面是程序。每次程序运行后都是返回“Could not open a session to GPIB device at address 18!”。分步调试时到viStatus =viOpen (defaultRM, "GPIB::18::INSTR", VI_NULL,VI_NULL,&viMXA);这一步时,viStatus的值就变成非0了。不知道原因是什么。还有分步调试时输出信息有一句 ““pinpu.exe”: 已加载“C:\Windows\System32\Visa32.dll”,未使用调试信息生成二进制文件。”不知道是不是这个原因。求各位大神指点!!
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include "visa.h"
#include "visatype.h"
#pragma comment(lib,"visa32.lib")
void main ()
{
/*program variables*/
ViSession defaultRM, viMXA;
ViStatus viStatus =0 ; viStatus =viOpenDefaultRM (&defaultRM);
viStatus =viOpen (defaultRM, "GPIB::18::INSTR", VI_NULL,VI_NULL,&viMXA);
/*check opening session sucess*/
if(viStatus)
{
printf("Could not open a session to GPIB device at address 18!\n");
exit(0);
}
/*increase timeout to 60 sec*/
viSetAttribute(viMXA,VI_ATTR_TMO_VALUE,60000);
/*Clear the analyzer*/
viClear(viMXA); /*Clear all event registers*/
viPrintf(viMXA, "*CLS\n"); /* Reset the MXA */
viPrintf(viMXA, "*RST\n"); viPrintf(viMXA, "FREQ:CENT 50MHz\n");
viPrintf(viMXA, "FREQ:SPAN 20MHz\n");
viPrintf(viMXA, "CALC:MARK1:MAX\n");
viPrintf(viMXA, "MMEM:STOR:RES:PTAB “myResults.csv”");
/* Close session */
viClose (viMXA);
viClose (defaultRM);
}vc++编程VISA频谱仪GPIB
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include "visa.h"
#include "visatype.h"
#pragma comment(lib,"visa32.lib")
void main ()
{
/*program variables*/
ViSession defaultRM, viMXA;
ViStatus viStatus =0 ; viStatus =viOpenDefaultRM (&defaultRM);
viStatus =viOpen (defaultRM, "GPIB::18::INSTR", VI_NULL,VI_NULL,&viMXA);
/*check opening session sucess*/
if(viStatus)
{
printf("Could not open a session to GPIB device at address 18!\n");
exit(0);
}
/*increase timeout to 60 sec*/
viSetAttribute(viMXA,VI_ATTR_TMO_VALUE,60000);
/*Clear the analyzer*/
viClear(viMXA); /*Clear all event registers*/
viPrintf(viMXA, "*CLS\n"); /* Reset the MXA */
viPrintf(viMXA, "*RST\n"); viPrintf(viMXA, "FREQ:CENT 50MHz\n");
viPrintf(viMXA, "FREQ:SPAN 20MHz\n");
viPrintf(viMXA, "CALC:MARK1:MAX\n");
viPrintf(viMXA, "MMEM:STOR:RES:PTAB “myResults.csv”");
/* Close session */
viClose (viMXA);
viClose (defaultRM);
}vc++编程VISA频谱仪GPIB
解决方案 »
- RegisterHotKey注册热键
- 如何将int型赋给unsigned char str[] ?
- 工具栏被关闭后如何打开呢?
- 如何得到IIS下站点的数量??get_Count(&long)为什么得不到?
- 如何实现定时提醒?
- 请教各位大侠关于屏幕取词的问题
- 强烈建议增开一个GIS论坛
- 如何在一个类中调用其他类中的编辑框输出数据
- COM连接点事件通知:能否在组件内部自动发出事件通知
- 内存溢出是什么意思?谢谢您
- LINK : fatal error LNK1181: cannot open input file ".\Debug\amqatic.lib"
- 请问如何将多线程里得到的数据,显示到mfc界面上?
你的消息管理器应该没有成功打开
返回值