NI-DAQ Win10+QT+Cmake 开发环境搭建

news2024/9/24 13:15:16

文章目录

  • 一.安装DAQ采集卡驱动
  • 二.NI MAX软件的使用
  • 三. QT利用Cmake构建工具搭建NI DAQ开发环境

一.安装DAQ采集卡驱动

  1. 到NI官网,选择技术支持,软件下载
    在这里插入图片描述
  2. 搜索DAQ-mx
    NI测量设备均附带NI-DAQmx驱动软件。NI-DAQmx驱动软件是一个用途广泛的库,可从LabVIEW或LabWindows/CVI中调用库函数,对NI设备编程。测量设备包括各种DAQ设备,如E系列多功能I/O(MIO)设备、SCXI信号调理模块、开关模块等。驱动软件有一个应用程序编程接口(API),包括了用于创建某特定设备的相关测量应用所需的VI、函数、类及属性。

在这里插入图片描述

  1. 选择NI-DAQ mx
    在这里插入图片描述
  2. 选择软件版本,进行下载
    在这里插入图片描述
  3. 解压下载好的文件
    在这里插入图片描述
  4. 双击进行安装
    在这里插入图片描述
  5. 点击下一步
    在这里插入图片描述
  6. 下一步
    在这里插入图片描述
  7. 下一步
    在这里插入图片描述
  8. 下一步
    在这里插入图片描述
  9. 我同意,下一步
    在这里插入图片描述
  10. 我接受,下一步
    在这里插入图片描述
  11. 下一步
    在这里插入图片描述
  12. 下一步
    在这里插入图片描述
  13. 等待安装
    在这里插入图片描述
  14. 安装完成重启电脑
    在这里插入图片描述

二.NI MAX软件的使用

  1. 安装完成后,可以在启动菜单中找到NI MAX软件
    在这里插入图片描述
  2. 打开软件卡一看到已安装的板卡,点击进入后可以打开板卡的测试面板
    在这里插入图片描述
  3. 如果没有安装NI板卡,也可以通过右键新建一个虚拟设备
    在这里插入图片描述
    在这里插入图片描述

三. QT利用Cmake构建工具搭建NI DAQ开发环境

这里演示如何将NI DAQ的库添加到QT开发环境中

  1. DAQ默认的安装目录(C:\Program Files (x86)\National Instruments\NI-DAQ\DAQmx ANSI C Dev)下所包含的库文件和头文件是32位版本的,如果需要开发64位版本的程序,则需要到另外一个目录(C:\Program Files (x86)\National Instruments\Shared\ExternalCompilerSupport\C)下拷贝64位版本的库文件和头文件
    在这里插入图片描述
    在这里插入图片描述
  2. 把库文件和头文件单独拷贝到一个文件夹(C:\Program Files\NIDAQ)中备用
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  3. 新建一个Qt项目,其中Cmake文件添加如下代码:
    # NIDAQ
    set(NIDAQ_DIR "C:\\Program Files\\NIDAQ\\")
    set(NIDAQ_INCLUDE_DIRS ${NIDAQ_DIR}\\include)
    set(NIDAQ_LIB_DIRS ${NIDAQ_DIR}\\lib)
    include_directories(${NIDAQ_INCLUDE_DIRS})
    link_directories(${NIDAQ_LIB_DIRS})
    	
    target_link_libraries(${PROJECT_NAME} PUBLIC NIDAQmx.lib)
    
  4. 在c++程序文件中包含DAQ的头文件
    #include "NIDAQmx.h"
    
  5. 程序中添加如下代码
        int32       error=0;
        TaskHandle  taskHandle=0;
        uInt8       data[8]={0,1,0,1,1,1,1,1};
        char        errBuff[2048]={'\0'};
        DAQmxCreateTask("",&taskHandle);
    
  6. 运行程序无报错则说明环境搭建成功

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

win10误删u盘文件怎么恢复数据?用5步解决数据丢失问题

求助,求助,Windows10电脑把U盘里面的文件误删了,其中一个txt文档对我比较重要,请问如何恢復? ——Win10误删U盘文件怎么恢复数据?在使用Windows 10操作系统时,有时候我们可能会不小心删除了U盘中的重要文件…

认可功能介绍 - 技术声誉靠认可

需求 大家在学习和工作中, 经常碰到一些热心帮助自己的人, 我们怎么向他们表示感谢呢? 各位博主在 CSDN 也做了很多贡献,也有不少用户在做各种各样的社区活动,这些活动给我们的领军人物什么回馈呢? 这些…

UG\NX二次开发 使用UF_MODL_create_symb_thread创建”螺纹符号“例子

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan 简介: 使用UF_MODL_create_symb_thread创建”螺纹符号“例子 效果: 代码: #include <stdio.h> #include <string.h> #include <uf.h> #include <uf_modl.h> #include <…

aardio - 关于 loadcode 和 loadcodex 的用法

关于 loadcode 和 loadcodex 的用法&#xff0c;资料较少&#xff0c;我简单写了几种用法&#xff0c;作为抛砖引玉。 大家还有其他使用技巧&#xff0c;请跟帖&#xff1a; import consoletest1 /** myTestFunc1 function(){ return myFunc1; } **/ loadcodex(test1); co…

贝莱德研究论文:资产配置中的比特币比例,85% or 3%?

* * * 原创&#xff1a;刘教链 * * * 号外&#xff1a;今天在「刘教链内参」发表了《内参&#xff1a;从华尔街解读美联储加息看我们战胜华尔街的底层逻辑》&#xff0c;欢迎关注公众号「刘教链内参」并阅读。 --- 隔夜比特币继续在29k上方震荡。并未延续缓慢修复走势&#xf…

企业服务器中了360后缀勒索病毒,勒索病毒解密数据恢复数据库修复

近年来&#xff0c;随着网络技术的不断发展&#xff0c;也导致互联网威胁不断升级&#xff0c;各种类型的勒索病毒不断出现&#xff0c;给企业信息安全带来了巨大威胁。360后缀勒索病毒是其中一种&#xff0c;它能够加密企业的关键数据&#xff0c;并以赎金形式要求解密。近期&…

瑞芯微|rk3568 uart快速上手

一、调试环境 平台&#xff1a;rk3568 kernel: 4.19.232 SDK: rk_android11.0_sdk Board: rk3568-evb1-ddr4-v10 二、 rk3568 uart控制器 1. 特性&#xff1a; rk3568 UART控制器特性如下&#xff1a; - UART控制器通道&#xff1a;UART0~UART8 【datasheet好像写的有问…

44.C++ static的用法

目录 一、静态成员变量 二、静态成员函数 三、局部静态变量 今天进行了新的学习。C关于static的用法。 只有.cpp文件能够被编译链接 在C中&#xff0c;static关键字有多种用法&#xff0c;主要用于以下几个方面&#xff1a; 一、静态成员变量 在类中使用static关键字修…

使用easyui的tree组件实现给角色快捷分配权限功能

这篇文章主要介绍怎么实现角色权限的快捷分配功能&#xff0c;不需要像大多数项目的授权一样&#xff0c;使用类似穿梭框的组件来授权。 具体实现&#xff1a;通过菜单树的勾选和取消勾选来给角色分配权限&#xff0c;在这之前&#xff0c;需要得到角色的菜单树&#xff0c;角色…

基于内核链表和JSON的MQTT的使用

一、内核链表 1.回顾单链表的插入和遍历 假设学生结构体信息如下&#xff0c;封装一个单链表的插入接口和遍历输出的接口&#xff0c;在主函数中利用封装的接口生成一个学生链表&#xff0c;并遍历输出链表的学生信息。 #include <stdio.h> #include <string.h>…

Spring MVC学习笔记,包含mvc架构使用,过滤器、拦截器、执行流程等等

&#x1f600;&#x1f600;&#x1f600;创作不易&#xff0c;各位看官点赞收藏. 文章目录 Spring MVC 习笔记1、Spring MVC demo2、Spring MVC 中常见注解3、数据处理3.1、请求参数处理3.2、响应数据处理 4、RESTFul 风格5、静态资源处理6、HttpMessageConverter 转换器7、过…

iOS开发-下拉刷新动画依次渐隐渐显Indicator指示器效果

iOS开发-下拉刷新动画依次渐隐渐显Indicator指示器效果 之前开发中实现下拉刷新动画三个球依次渐隐渐显指示器效果。 一、效果图 二、基础动画 CABasicAnimation类的使用方式就是基本的关键帧动画。 所谓关键帧动画&#xff0c;就是将Layer的属性作为KeyPath来注册&#xf…

【Linux进程】进程控制(下) {进程程序替换:程序替换的工作原理,程序替换函数exec*,简单的命令行解释器}

四、进程程序替换 之前用fork创建子进程后&#xff0c;父子进程执行同一个程序的不同代码段。 如何使子进程执行另一个不同的程序呢&#xff1f;子进程需要进行程序替换&#xff01; 程序替换&#xff0c;就是通过特定的接口&#xff0c;将磁盘上一个全新的程序&#xff08;包…

STL中的神秘“指针”:迭代器

&#x1f680;write in front&#x1f680; &#x1f4dc;所属专栏&#xff1a;C学习 &#x1f6f0;️博客主页&#xff1a;睿睿的博客主页 &#x1f6f0;️代码仓库&#xff1a;&#x1f389;VS2022_C语言仓库 &#x1f3a1;您的点赞、关注、收藏、评论&#xff0c;是对我最大…

【Linux】- RPM 与 YUM

RPM 与 YUM 1.1 rpm 包的管理1.2 rpm 包的简单查询指令1.3 rpm 包的其它查询指令&#xff1a;1.4 卸载 rpm 包&#xff1a;2.1 安装 rpm 包3.1 yum3.2 yum 的基本指令3.3 安装指定的 yum 包3.4 yum 应用实例&#xff1a; 1.1 rpm 包的管理 介绍 rpm 用于互联网下载包的打包及安…

SDN系统方法 | 9. 接入网

随着互联网和数据中心流量的爆炸式增长&#xff0c;SDN已经逐步取代静态路由交换设备成为构建网络的主流方式&#xff0c;本系列是免费电子书《Software-Defined Networks: A Systems Approach》的中文版&#xff0c;完整介绍了SDN的概念、原理、架构和实现方式。原文: Softwar…

【Spring Boot丨序列化、反序列化】

序列化、反序列化 概述Jackson 序列化和反序列化简介自定义序列化器注册外部序列化程序&#xff1a; 指定类的 Json 序列化、反序列化 主页传送门&#xff1a;&#x1f4c0; 传送 概述 序列化是将对象转换为字节序列的过程&#xff0c;而反序列化则是将字节序列恢复为对象的过…

用于系统监控及进程管理python库之psutil

前言 对于一个job级别应用再进行测试的过程中&#xff0c;不可避免测试该服务的一些性能&#xff0c;比如占有cpu的使用量&#xff0c;使用的memory的大小等&#xff0c;比较简单的方式是在服务中起一个并行的线程&#xff0c;每隔一段时间打印这些关注量的大小&#xff0c;之后…

【二分答案】CF1661 C

Problem - C - Codeforces 题意&#xff1a; 思路&#xff1a; 在check的时候&#xff0c;我们要尽量用算贡献的思想&#xff0c;并且大胆贪心 Code&#xff1a; #include <bits/stdc.h>#define int long longusing namespace std;const int mxn3e510; const int mxe3…

MySQL基础扎实——列对比运算符是什么

词义解释 在MySQL中&#xff0c;用于进行列对比的运算符主要有以下几种&#xff0c;其实就是逻辑运算符号&#xff1a; 等号&#xff08;&#xff09;&#xff1a;用于判断两个列是否相等&#xff0c;例如&#xff1a;column_name value。 不等号&#xff08;<>或!&am…