引用

NationalInstruments.Common

NationalInstruments.DAQmx

位置是在:

安装位置\NationalInstruments\MeasurementStudioVS2010\DotNET\Assemblies\Current

这个.NET的版本要和这两个DLL匹配

首先,

using NationalInstruments.DAQmx;

Task analogInTask = new Task();
AIChannel myChannel;
myChannel = analogInTask.AIChannels.CreateVoltageChannel( "dev1/ai2","myChannel", AITerminalConfiguration.Rse,-10, 10,AIVoltageUnits.Volts);
analogInTask.Start();
AnalogSingleChannelReader reader = new AnalogSingleChannelReader(analogInTask.Stream);
double data = reader.ReadSingleSample();
analogInTask.Stop();
analogInTask.Dispose();

这是从官网找到的例子,进行了稍稍的修改

如果要进行两个接口的读取,个人的办法是先Stop上一个Task,再Start新的Task.即一个时候只能有一个Task在Running

附上C++版,读取两个接口的电压

    //Declare a digital output task.int32       error = 0;TaskHandle  AItaskHandle = 0;TaskHandle  AItaskHandle2=0;float64     data = 0.0;float64     data2 = 0.0;int32       i = 0;char        errBuff[2048] = { '\0' };//Configure your analog input tasks.//DAQmxErrChk(DAQmxCreateTask("", &AItaskHandle));if(DAQmxFailed(DAQmxCreateTask("", &AItaskHandle))){DAQmxGetExtendedErrorInfo(errBuff, 2048);printf("DAQmx Error: %s\n", errBuff);std::cout<<"DAQmx Error: "<<errBuff<<std::endl;if (AItaskHandle != 0) {DAQmxStopTask(AItaskHandle);DAQmxClearTask(AItaskHandle);}}if(DAQmxFailed(DAQmxCreateTask("", &AItaskHandle2))){DAQmxGetExtendedErrorInfo(errBuff, 2048);printf("DAQmx Error: %s\n", errBuff);std::cout<<"DAQmx Error: "<<errBuff<<std::endl;if (AItaskHandle2 != 0) {DAQmxStopTask(AItaskHandle2);DAQmxClearTask(AItaskHandle2);}}//DAQmxErrChk(DAQmxCreateAIVoltageChan(AItaskHandle, "Dev1/ai0", "", DAQmx_Val_Cfg_Default, -10.0, 10.0, DAQmx_Val_Volts, NULL));if(DAQmxFailed(DAQmxCreateAIVoltageChan(AItaskHandle, "Dev1/ai0", "", DAQmx_Val_Cfg_Default, -10.0, 10.0, DAQmx_Val_Volts, NULL))){DAQmxGetExtendedErrorInfo(errBuff, 2048);printf("DAQmx Error: %s\n", errBuff);std::cout<<"DAQmx Error: "<<errBuff<<std::endl;if (AItaskHandle != 0) {DAQmxStopTask(AItaskHandle);DAQmxClearTask(AItaskHandle);}}if(DAQmxFailed(DAQmxCreateAIVoltageChan(AItaskHandle2, "Dev1/ai2", "", DAQmx_Val_Cfg_Default, -10.0, 10.0, DAQmx_Val_Volts, NULL))){DAQmxGetExtendedErrorInfo(errBuff, 2048);printf("DAQmx Error: %s\n", errBuff);std::cout<<"DAQmx Error: "<<errBuff<<std::endl;if (AItaskHandle2 != 0) {DAQmxStopTask(AItaskHandle2);DAQmxClearTask(AItaskHandle2);}}//Add digital output to Start Code.//DAQmxErrChk(DAQmxStartTask(AItaskHandle));//check the voltage values with each read.//DAQmxErrChk(DAQmxReadAnalogScalarF64(AItaskHandle, 100, &data, NULL));if(DAQmxFailed(DAQmxStartTask(AItaskHandle))){DAQmxGetExtendedErrorInfo(errBuff, 2048);printf("DAQmx Error: %s\n", errBuff);std::cout<<"DAQmx Error: "<<errBuff<<std::endl;if (AItaskHandle != 0) {DAQmxStopTask(AItaskHandle);DAQmxClearTask(AItaskHandle);}}if(DAQmxFailed(DAQmxReadAnalogScalarF64(AItaskHandle, 10, &data, NULL))){DAQmxGetExtendedErrorInfo(errBuff, 2048);printf("DAQmx Error: %s\n", errBuff);std::cout<<"DAQmx Error: "<<errBuff<<std::endl;if (AItaskHandle != 0) {DAQmxStopTask(AItaskHandle);DAQmxClearTask(AItaskHandle);}}DAQmxStopTask(AItaskHandle);//DAQmxClearTask(AItaskHandle);if(DAQmxFailed(DAQmxStartTask(AItaskHandle2))){DAQmxGetExtendedErrorInfo(errBuff, 2048);printf("DAQmx Error: %s\n", errBuff);std::cout<<"DAQmx Error: "<<errBuff<<std::endl;if (AItaskHandle2 != 0) {DAQmxStopTask(AItaskHandle2);DAQmxClearTask(AItaskHandle2);}}if(DAQmxFailed(DAQmxReadAnalogScalarF64(AItaskHandle2, 100, &data2, NULL))){DAQmxGetExtendedErrorInfo(errBuff, 2048);printf("DAQmx Error: %s\n", errBuff);std::cout<<"DAQmx Error: "<<errBuff<<std::endl;if (AItaskHandle2 != 0) {DAQmxStopTask(AItaskHandle2);DAQmxClearTask(AItaskHandle2);}}DAQmxStopTask(AItaskHandle2);

C#使用NIDAQmx采集电压相关推荐

  1. STM32F0xx_ADC采集电压配置详细过程

    前言 关于ADC这一块的功能基本上也算是CortexM芯片的标配了.ST的每一块芯片都有这个功能,只是说因型号不同,通道数.位数等有所不同.STM8的芯片大多数都是10的,也就是说分辨率可达到:参考电 ...

  2. 基于STM32F407使用ADC采集电压实验

    核心板:STM32F407 实验目的:使用ADC采集电压值将其打印在串口助手上 目录 ADC简介 STM32F407 ADC通道对应的引脚 STM32F407中的数据寄存器 ADC 规则数据寄存器 ( ...

  3. 单片机采集电压信号(AD转换器的应用实例)上

    单片机采集电压信号(AD转换的应用实例)上 上一篇文章我们讲了如何把一个信号的峰值采集,今天我们来讲如何把它连入单片机上,这里我们采用的是Multisim仿真. 我们都知道单片机采集的信号都是高电平和 ...

  4. 小壁虎EFM32之ADC 采集电压

    前言 最近在学习小壁虎EFM32芯片的使用,需要用ADC采集电压,学习之中,遇到一些小问题和需要注意的地方,现将其记录下来,避免以后自己再次踩坑和往后可以学而时习之:好了,进入正题. 代码 主函数: ...

  5. Arduino Uno 使用 ADC采集电压在LCD上显示

    Arduino Uno 使用 ADC采集电压显示在LCD上 前言 所需组件 电路图及说明 Arduino使用ADC 代码 前言 在本教程中,我们将在 ARDUINO UNO 中介绍 ADC(模数转换) ...

  6. 蓝桥杯嵌入式模板的构建——STM32G431RB(LCD和ADC采集电压)

    基于LED和按键的模板来写的 下载工程的链接 蓝桥杯嵌入式模板的构建--STM32G431RB(LED和按键的配置)-其它文档类资源-CSDN下载这个模板亲测有效只写了按键三和按键4对LED进行点灯和 ...

  7. 模数转换器ADS1118 四通道采集电压 stm32f103

    模数转换器ADS1118 四通道采集电压 stm32f103 寄存器配置 uint16_t cha0_count=0xD08B;//0xC08B 0xD08B 0xE08B 0xF08B uint16 ...

  8. STM32+LTC6804/LTC6811采集电压温度电流/BMS储能采集板

    有LTC6804.LTC6811版本,可选SPI\菊花链通信) BMS闲置开发板 凌力尔特LTC6804/6811开发板BMS电池管理评估板,采集板,BMS开发板 12串送源码+BOM+原理图+源码解 ...

  9. STM32 - ADC采集电压 中断处理

    一.参考电压 VDD接入电压为3.3V ADC供电要求:2.4V到3.6V 注意:STM32的100脚以上(含100脚)有参考电压引脚.在没有参考电压引脚的单片机上,可以把基准电压芯片接入VDDA,但 ...

最新文章

  1. 第59件事 运营驱动产品调优案例
  2. python api开发用什么框架_python+requests接口自动化框架
  3. 用一个按钮做主窗口,可以吗?
  4. 在ADF实体PK属性中使用MySQL自动增量PK列
  5. module.exports和exports得区别
  6. 暴露的全局方法_期末考试快到了,这4种错误的考试复习方法,越复习越差劲!...
  7. 回帖整理和其他一些想法
  8. 入门嵌入式HTML/CSS/脚本引擎 sciter
  9. 液晶显示器尺寸对照表_安徽CHARACTER液晶显示屏
  10. matlab滤除100hz,关于滤波器滤波的问题,要求滤除3000Hz以上,但滤除后只剩下1000Hz以内的...
  11. 软件技术文档编写_如何编写好的软件技术文档
  12. Sentaurus Process Device
  13. 楼板计算塑形弹性_楼板计算的塑性铰线理论原理与运用详解.doc
  14. CEF3使用Visual Studio 2010编译libcef_dll_wrapper.lib
  15. 除了用jenkins,还有什么方法可实现持续集成?
  16. Android界面全屏显示,隐藏状态栏,可下拉显示状态栏
  17. 方舟服务器在线人数查询软件,方舟生存进化怎么查看在线人数
  18. 哈工大pyltp库安装的踩坑经历—windows10+python3.8
  19. 采集需要登录后的网页(重定向后cookie丢失问题)
  20. CSMA/CA基本原理

热门文章

  1. Bitbucket代码合并及冲突处理
  2. 常用排序算法之选择排序
  3. 龙芯1b(LS1B200)使用LVGL7.0.1组件的初次体验
  4. 商城分析(怎么在修改商品窗口里面进行保存商品信息)
  5. CentOS安装samba
  6. Skype语音测试,会议电话Skype音频测试
  7. java照明模型_在JAVA的异常处理模型中,能单独和finally语句一起使用的块是()。...
  8. 图情论文笔记 | 如何开展高质量的新型智库服务
  9. 查看外文期刊的刊名、刊号、刊期
  10. 姚期智计算机科学实验班,清华大学成立量子信息班 姚期智院士领衔