QT5.15使用VISA接口连接GPIB设备和USB设备

news/2024/5/17 17:36:34/文章来源:https://blog.csdn.net/xue745146527/article/details/126968356

本文是之前再外网找到的解决方法,本着分享目的共享出来。

1. 首先安装NI-VISA环境包:点击下载

    如果使用GPIB还需要安装GPIB的环境包:点击下载(这个忘记了,似乎不安装也行)

2. 安装完成后,检查目录是否存在

C:\Program Files (x86)\IVI Foundation\VISA\winnt\include
C:\Program Files (x86)\IVI Foundation\VISA\winnt\lib

3. 在QT工程的.pro文件中加入如下内容。

win32: LIBS += "C:\Program Files (x86)\IVI Foundation\VISA\WinNT\lib\msc\visa32.lib"
win32: INCLUDEPATH += "C:\Program Files (x86)\IVI Foundation\VISA\WinNT\Include"

4. 然后在你自己的文件中添加如下内容。

#include "visa.h"ViSession osc;
ViSession rscmng;
uint8_t   viStatus;

5. 然后使用如下函数进行搜索设备,注意,如果想查找GPIB设备,要替换viFindRsrc里面的字符串。

bool MainWindow::scanGPIB(QStringList *strList)
{ViStatus stat = viOpenDefaultRM(&rscmng);// search for the oscilloscopeViChar      viFound[VI_FIND_BUFLEN];ViUInt32    nFound;ViFindList  listOfFound;//如果是查找GPIB设备,则把字符串换成"GPIB?*INSTR"stat = viFindRsrc(rscmng, (ViString)"USB?*INSTR", &listOfFound, &nFound, viFound);if(stat != 0){this->log("未找到设备,请关闭软件后连接设备,然后再打开本软件!");return false;}// connect to the oscilloscopestat = viOpen(rscmng, viFound, VI_NULL, VI_NULL, &osc);// communicateviPrintf(osc, (ViString)"*IDN?\n");char buf[256] = {0};viScanf(osc,(ViString)"%t",&buf);qDebug() << buf;strList->append(viFound);// close VI sessionsviClose(osc);return true;
}

上面的截图就是扫描到设备的ID

6. 写命令到VISA

viPrintf(osc, (ViString)"*RST\n");

或者

strcpy (stringinput,"*IDN?\n");status = viWrite (instr, (ViBuf)stringinput, (ViUInt32)strlen(stringinput), &writeCount);

7. 从VISA读数据

 status = viRead (instr, buffer, 100, &retCount);

对于VISA的基本操作,在你安装完VISA环境包之后会有一个Example,例如我的就是:

C:\Users\Public\Documents\National Instruments\NI-VISA\Examples\C\USB

以上就是QT+VISA的全部内容了,祝你们调试顺利。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_11395.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cent OS安装中文字体

文章目录前期准备拷贝字体拷贝Mac电脑的字体拷贝Windows的字体Centos上生成字体前期准备 添加字体需要先安装&#xff1a; sudo yum install -y fontconfig mkfontscale首先确认支持的字体&#xff1a; fc-list # 全部字体 fc-list :langzh-cn # 支持中文的字体然后开始添加…

SpringSecurity+JWT认证流程分析

对Spring SecurityJWT认证&#xff0c;对整体运行流程分析。 第一步先简单了解JWT是什么&#xff0c;生成规则。由于我们是JWT的认证模式&#xff0c;需要一个操作Token的工具类&#xff0c;能够创建token、验证token、反解析token中的信息。 WebSecurityConfigurer 1.引入S…

类——C++

C是面向过程的编程语言&#xff0c;重在过程&#xff0c;比如进行栈的操作&#xff0c;需要建立一个栈&#xff0c;初始化&#xff0c;push数据&#xff0c;pop数据&#xff0c;销毁栈等操作&#xff0c;这就是过程 C是面向对象的编程语言&#xff0c;重在处理对象与对象之间的…

vue打包项目版本号自加

原因 项目每次打包后都需要改动项目版本号,这个改动每次都需要在package.json中修改version,比较麻烦,到底有没有一种打包后版本号自加的办法。 方案 版本号自加其实可以使用fs修改文件来实现的。 具体思路是:在执行打包命令npm run build时,同时执行一段js代码,该代码通…

第六章 logstash学习(二)

一、ELK搭建 1.ES搭建 2.logstash搭建 1)安装java环境 2)安装logstash 3)配置环境变量 4)logstash的插件 INPUT:插件使Logstash能够读取特定的事件源。 OUTPUT:插件将事件数据发送到特定的目的地,OUTPUT是事件流水线中的最后阶段。INPUT支持事件源 OUTPUT支持输出源 COD…

【概率论与数理统计】【线性代数】计算机保研复习

我他妈写一上午了直接没了&#xff0c;这狗csdn&#xff0c;别在已发布的文章上改&#xff0c;辣鸡玩意儿。 复习概率论与数理统计1.基础2.贝叶斯公式3.大数定律&#xff08;Law of the large numbers&#xff09;4.中心极限定理5.最大似然估计6. 期望、方差和协方差面试题线性…

软件设计师2014上午题基础知识(易错整理)

软件设计师2014上午题基础知识&#xff08;易错整理&#xff09; 2014 上半年 木马程序的客户端运行在攻击者的机器上 海明码检验位计算&#xff1a;有效信息位 校验位个数 < 2^校验位个数 - 1 防火墙工作层次越低&#xff0c;工作效率越高&#xff0c;安全性越低 读音…

git 命令 简单介绍

爱无路&#xff0c;恨无情。相思无缘&#xff0c;相爱无份。曾相识&#xff0c;恨离别。无风雨&#xff0c;无同舟&#xff0c;何结果。情远天边&#xff0c;心无挂碍&#xff0c;唯爱你独一。 git简单介绍 三个区 工作区(working diretory) 用于修改文件 缓存区(stage) 是用…

zabbix的rpm包部署

1. 环境准备&#xff1a; 镜像版本虚拟机地址Rocky Linux release 8.6192.168.188.201 2. RockyLinux更换镜像源&#xff1a; [rootzabbix ~]# sed -i.bak \ -e s|^mirrorlist|#mirrorlist| \ -e s|^#baseurl|baseurl| \ -e s|dl.rockylinux.org/$contentdir|mirrors.nju.e…

计算机毕业设计之java+javaweb的新冠疫情下的校园出入系统

计算机毕业设计之javajavaweb的新冠疫情下的校园出入系统 项目介绍 随着信息化时代的到来,管理系统都趋向于智能化、系统化,新冠疫情下的校园出入系统也不例外,但目前国内的市场仍都使用人工管理,市场规模越来越大,同时信息量也越来越庞大,人工管理显然已无法应对时代的变化,而…

内核中oops 错误解析以及问题定位

目录 一、oops输出解析 二、工具 1、objdump 2、gdb 3、addr2line 4、decodecode 5、faddr2line 文档最后有完整的oops输出文件&#xff0c;此处将输出分成多个小块进行分析。 一、oops输出解析 [ 2620.950912] oops_tryv1:try_oops_init():37: Lets Oops!Now …

vue里使用虚拟列表处理element-ui的el-select选择器组件数据量大时卡顿问题

问题 当我们使用el-select选择器下拉数据很大的时候&#xff0c;会出现页面卡顿&#xff0c;甚至卡死的情况&#xff0c;用户体验很不好。我目前采取的方案是使用虚拟列表的方式去处理这个问题。 实现效果 数据获取完毕&#xff1a; 点击输入框&#xff1a;我们可以看到 2 万…

高频读写头CK-FA521-2M应用与选型注意事项

CK-FA521-2M为高频读写头&#xff0c;工作频率为13.56Mhz&#xff0c;通过同轴线缆与读卡器相连。使用ABS&#xff0b;铝合金作为读写头的外壳&#xff0c;适用于潮湿、粉尘、油污等恶劣环境&#xff0c;防护等级高。读写头具有识别标签距离远&#xff0c;抗干扰能力强&#xf…

Android移动应用开发之界面跳转

文章目录主要文件目录activity_main.xmldemo.xmlMainActivityActivity_Demo运行主要文件目录 主要实现的功能就是点击按钮能够实现界面的跳转。 activity_main.xml 主界面&#xff0c;包含一个按钮 <?xml version"1.0" encoding"utf-8"?> <a…

pdf转ppt的简单方法,包你一学就会

每个职场人的必备技能就是要能做一个“完美”的PPT&#xff0c;在做PPT之前肯定也少不了资料收集的过程。有的人收集资料时找到的是PDF格式的文档&#xff0c;这时候你可能就会想&#xff0c;如果能把PDF的内容直接就转还成一个PPT文档就好了。事实上这的确能办到&#xff0c;而…

2020年居家实习日志

这篇文章是我2020年在校期间疫情居家实习的日志&#xff0c;当时实习获得了很高的成绩&#xff0c;因为已经毕业挺久了觉得现在就放上来也对我也没有影响&#xff0c;还能给大家提供一个实习的模板&#xff08;膨胀&#xff09;帮助当前同样因疫情被迫居家实习广大计算机类专业…

新书推荐——华为·无线局域网应用技术(微课版丨第2版)

新书推荐——华为无线局域网应用技术&#xff08;微课版丨第2版&#xff09; 近日&#xff0c;由正月十六工作室组编&#xff0c;黄君羡主编的教材《无线局域网应用技术&#xff08;微课版丨第2版&#xff09;》在人民邮电出版社正式出版。 无线局域网应用技术微课版丨第2版组…

app自动化测试(iOS)元素定位

除了通用定位方式外&#xff0c;iOS 还有其他特殊的定位方式&#xff0c;本章节仅介绍 iOS 特有定位。 PredicateString定位 样本元素截图&#xff1a; 使用 PredicateString&#xff0c;基本定位方式是由元素属性名、运算符、目标值组成。 元素属性 比较运算符 &#xff…

vue基础的一些实例推荐收藏

data&#xff1a;数据 用于存储数据&#xff0c;这里的数据可以全局使用 当数据发生变化时&#xff0c;会自动更新相关DOM元素 methods&#xff1a;方法 用于存储各种方法 方法里面的this是当前vue对象 指令&#xff1a;就是vue提供的一套属性&#xff0c;都是v-开头 metho…

免费题库接口

免费题库接口 本平台优点&#xff1a; 多题库查题、独立后台、响应速度快、全网平台可查、功能最全&#xff01; 1.想要给自己的公众号获得查题接口&#xff0c;只需要两步&#xff01; 2.题库&#xff1a; 查题校园题库&#xff1a;查题校园题库后台&#xff08;点击跳转&a…