特种工建设网站,专业建设网站哪个好,word文档素材免费下载,wordpress支持asp.net某光谱仪程序开发 文章目录某光谱仪程序开发摘要安装驱动注册COM组件导出.h和.cpp在Qt 中添加源文件开发打包程序关键字#xff1a;
Demo、
Qt、
COM、
dumpcpp、
C摘要
今天接到一个临时小任务#xff0c;写一个的项目子模块的Demo#xff0c;以供和专家们交流一下项目技…
某光谱仪程序开发 文章目录某光谱仪程序开发摘要安装驱动注册COM组件导出.h和.cpp在Qt 中添加源文件开发打包程序关键字
Demo、
Qt、
COM、
dumpcpp、
C摘要
今天接到一个临时小任务写一个的项目子模块的Demo以供和专家们交流一下项目技术方案是否可行。用的是一个第三方的光谱仪需要使用Qt 调用光谱仪的SDK并且做一些加加减减处理。但是厂家给的竟然不是纯C版的开发库而是基于COM组件的库开始看资料的时候并没有注意光看到就是那几个接口想着很简单绘制曲线也是之前用过QCustcomPlot认为没有啥难度实际开发发现是COM组件巧了我还没有搞过得研究一番。
安装驱动
按照厂家提供的文档第一步就是安装设备对应的驱动这里简单截图一下具体每家都不一样不做太多描述。 我这里直接弹出确定了是因为我装过一次了又懒得卸载驱动了会提示一个安装驱动的窗口来点击安装即可。 注册COM组件
这里可以使用win提供的指令来注册我这里厂家还贴心提供了bat搅拌我就直接一键注册了。具体可以百度下COM组件注册
参考链接https://baike.baidu.com/item/COM%E7%BB%84%E4%BB%B6%E6%B3%A8%E5%86%8C/725400
导出.h和.cpp
这里就要大大的夸夸我Qt 的强大了正当我一筹莫展的时候群友提示我Qt 有工具可以直接将COM组件导出.h和.cpp直接调用就好这个工具就是神奇的dumpcpp.exe ,不过这里还是要确定一下我们的COM的ID的。具体方法可以查出册表。我这里厂家也贴心给了脚本就偷懒了 这里有个问题需要主要的就是我使用上面的ID是导出失败了只有使用下面的ID才可以使用因为咱第一次搞也不知道其中的缘由先这么滴搞起来最终导出了我想要的.h和.cpp 在Qt 中添加源文件
这个就不用太多描述了直接在Qt项目中添加现有文件选中下一步即可。在使用的地方包含头文件即可。
开发
这个就是按照厂家提供的流程在Qt 中调用接口即可部分代码如下
bool SpectroMeter::init()
{m_wrapper new IdeaOptics::Wrapper();if(m_wrapper-OpenAllSpectrometers() 0){if(m_timerGetInfor-isActive())m_timerGetInfor-stop();return false;}m_wrapper-setIntegrationTime(m_index,3000);m_name m_wrapper-getName(m_index);m_serialNumber m_wrapper-getSerialNumber(m_index);m_pixels m_wrapper-getNumberOfPixels(m_index);m_temperature m_wrapper-getFeatureControllerBoardTemperature(m_index);m_timerGetInfor-start(1000);m_timerGetData-start(1000);return true;
}
打包程序
这个就是使用Qt 自带的windeployqt 直接导出需要的库即可不过要是到其他电脑上可运行还需要包厂家的驱动和COM组件都带上在需要的电脑安装驱动和COM组件今天小程序完成。