首先介绍一个小知识:
NI-DAQmx的lib库分为32位和64位,
64位库文件路径为Program Files (x86)\National Instruments\Shared\ExternalCompilerSupport\C\lib64\msvc.这是一个本地的64位库文件,可以在64位C或者C++环境中使用。
首先介绍问题来源背景:
在使用NI-DAQmx过程中,笔者遇到需要获取电脑连接的NI设备名和物理通路名的需求,这个需求在使用labview进行开发时,labview会提供相应的控件,但笔者的需求是使用C调用NI-DAQmx驱动获取NI的设备名和物理通路名,使用QT显示在图像界面上。话不多说,给大家上代码。觉得有帮助的铁子麻烦给个赞,有问题的铁子也可以在评论区留言。
DAQmxGetSysDevNames(char *data, uInt32 bufferSize);
形参:1、设备名数组2、设备名数组的长度
使用上面这个函数便可以获取笔记本中所有NI设备的设备名及插槽名,函数的两个形参分别为要存储设备名的char数组和char数组的长度。
拿到设备名字符串后,按‘,’进行字符串切割,得到各个设备名。
DAQmxGetDevAIPhysicalChans(const char device[], char *data, uInt32 bufferSize);
形参:1、插槽名2、设备通路名数组3、设备通路名数组的长度
循环对各个插