我正在开发通过USB与Tektronix TDS2002示波器交互的C ++ / Qt应用程序。示波器显示为“ USB测试和测量设备(IVI)”。
当前,我使用示波器供应商提供的TekVISA库。它可以工作,但是它庞大,古老,越野车且维护不善。因此,我想绕过该库并直接连接设备。
到目前为止,我已经找到了这个简单的库:https : //github.com/xyphro/WinUsbTmc正是我在寻找的东西,但是它使用libusb,它需要安装一些设备过滤器,并且建议进行更多开发工具比客户解决方案。您对此有经验吗?
与Windows / C ++ / Qt中的USB测试和测量设备交互的最简单方法是什么?
谢谢您的建议 :)
您需要一个USB驱动程序。我的示波器可以使用此VISA软件包中包含的驱动程序(可以很容易地提取驱动程序):http ://www.keysight.com/main/software.jspx?cc=CZ&lc=eng&nid=-11143.0.00& id= 2504667&pageMode =简历我假设所有USB TMC设备都可以使用相同的驱动程序,但是我无法检查这一点。
可以通过标准Windows功能访问USB驱动程序。这个论坛上的人真的很亲密:https : //forum.tek.com/viewtopic.php?f=568&t=137573,该文档也非常有用:http : //www.ivifoundation.org/downloads/Class%20Specifications /ivi-6%202_USBTMC_2010-03-23.doc
您不能直接向OSC写命令-发送和接收的数据具有必须采用正确格式的某些标头,否则示波器将忽略该消息。请参阅在这个简单的库中阅读和编写实现:https : //github.com/xyphro/WinUsbTmc我没有使用这个库,因为它使用libusb库,该库使用某种设备过滤器,我个人不喜欢这个概念(并且另外我有真正的工作驱动程序)。
您读取的数据还有一个简单的标头。为确保标题结构很好地适合输入数据,应首先刷新输入缓冲区。然后发出读取请求(使用写命令-参见上面的WinUsbTmc库),最后您接收到数据并在其开头放置标头。
我希望这会对某人有所帮助:)
带着敬意
克拉西克
| 归档时间: |
|
| 查看次数: |
2099 次 |
| 最近记录: |