手机看片福利永久国产日韩-手机看片369-手机精品在线-手机国产乱子伦精品视频-国产精品嫩草影院在线观看免费-国产精品嫩草影院在线播放

首頁 資訊 > 科技 > 正文

基于NI 數據采集器的QT C++應用程序開發測試輸出模擬電壓信號 天天最資訊

前言:最近項目需要用到NI的數據采集設備,之前的項目在使用NI的采集設備時更多用的labview編寫相關程序,也能夠快速搭建相關的采集平臺,但是最近更多的使用的QT c++,前期的的其他工作均是有QT完成,所以這次采用QT C++平臺編寫相關程序,僅對QT調用NI設備API的配置做記錄。

NI-DAQmx安裝:NI官網下載DAQmx。

根據需要下載相應的版本,我下載的是最新版本。


(資料圖片僅供參考)

下載完成之后,安裝需要選擇 ANSI C Support。

新建QT工程:工程可選擇32位編譯器或者64位編譯器均可,添加外部庫和頭文件。網上很多人說需要選擇32位編譯器是因為沒有找到相應的64位庫導致。

64位庫路徑:

C:ProgramFiles (x86)National InstrumentsSharedExternalCompilerSupportClib64msvc

32位庫路徑:

C:Program Files (x86)National InstrumentsSharedExternalCompilerSupportClib32msvc

測試代碼:測試代碼是應用的NI提供的示例代碼。

#include#include#include#include#define DAQmxErrChk(functionCall) if( DAQmxFailed(error=(functionCall)) ) goto Error; else#define PI 3.1415926535int32 CVICALLBACK DoneCallback(TaskHandle taskHandle, int32 status, void *callbackData);int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); int32 error=0; TaskHandle taskHandle=0; float64 data[1000]; char errBuff[2048]={"?"}; int i=0; for(;i<1000;i++)// data[i] = 0+9.95*sin((double)i*2.0*PI/50.0); data[i]=10-10*(double)i/1000; /*********************************************/ // DAQmx Configure Code /*********************************************/ DAQmxErrChk (DAQmxCreateTask("",&taskHandle)); DAQmxErrChk (DAQmxCreateAOVoltageChan(taskHandle,"Dev1/ao0","",-10.0,10.0,DAQmx_Val_Volts,NULL)); DAQmxErrChk (DAQmxCfgSampClkTiming(taskHandle,"",1000.0,DAQmx_Val_Rising,DAQmx_Val_ContSamps,1000)); DAQmxErrChk (DAQmxRegisterDoneEvent(taskHandle,0,DoneCallback,NULL)); /*********************************************/ // DAQmx Write Code /*********************************************/ DAQmxErrChk (DAQmxWriteAnalogF64(taskHandle,1000,0,10,DAQmx_Val_GroupByChannel,data,NULL,NULL)); /*********************************************/ // DAQmx Start Code /*********************************************/ DAQmxErrChk (DAQmxStartTask(taskHandle)); printf("Generating voltage continuously. Press Enter to interruptn"); getchar();Error: if( DAQmxFailed(error) ) DAQmxGetExtendedErrorInfo(errBuff,2048); if( taskHandle!=0 ) { /*********************************************/ // DAQmx Stop Code /*********************************************/ DAQmxStopTask(taskHandle); DAQmxClearTask(taskHandle); } if( DAQmxFailed(error) ) printf("DAQmx Error: %sn",errBuff); printf("End of program, press Enter key to quitn"); getchar(); return a.exec();}int32 CVICALLBACK DoneCallback(TaskHandle taskHandle, int32 status, void *callbackData){ int32 error=0; char errBuff[2048]={"?"}; // Check to see if an error stopped the task. DAQmxErrChk (status);Error: if( DAQmxFailed(error) ) { DAQmxGetExtendedErrorInfo(errBuff,2048); DAQmxClearTask(taskHandle); printf("DAQmx Error: %sn",errBuff); } return 0;}測試結果:

代碼運行正常。

輸出正常。————————————————審核編輯:湯梓紅

關鍵詞:

最近更新

關于本站 管理團隊 版權申明 網站地圖 聯系合作 招聘信息

Copyright © 2005-2023 創投網 - www.extremexp.net All rights reserved
聯系我們:39 60 29 14 2@qq.com
皖ICP備2022009963號-3

主站蜘蛛池模板: 好紧我太爽了视频免费国产| 天天躁夜夜躁很很躁| 野花日本中文版免费观看| 日韩欧美在线观看视频| 老汉扛起娇妻玉腿进入h文| 欧美日本黄色| 在线播放五十路乱中文| 性欧美18~19sex高清播放| 久久亚洲精品人成综合网| 182在线播放| 欧美成人精品第一区二区三区| 最近中文国语字幕在线播放| 果冻传媒91制片厂| 男人和女人差差差很疼30分| 又大又粗好舒服好爽视频| 波多野结衣一区| 全彩本子里番调教仆人| 国产丝袜制服在线| 国产三级免费观看| 成人免费v片在线观看| 无翼乌邪恶帝日本全彩网站| 成人在线毛片| 久久久久免费精品国产| 国产精品欧美一区二区三区不卡| 四虎精品久久久久影院| 亚洲午夜成激人情在线影院| 午夜精品久久久久久| 一区二区三区午夜| 美女被吸乳羞羞动漫| 欧洲大片无需服务器| 久久婷婷国产综合精品| 国产又色又爽在线观看| 国产青青| 国产呦系列呦| 好男人社区www在线观看| 中国一级黄色| 久久免费视频网站| 久久精品一区二区三区不卡| 女人国产香蕉久久精品| 极度另类极品另类| 亚洲欧美综合另类|