QT USB通信--方案选择

在Windows下用Qt写UI程序,该程序与下位机通过USB进行通信。Qt类库没有自带的USB类,所以采用第三方库来进行USB通信。

对于第三方库的选择,总共有如下几种:

一、如果是在Windows下,那么采用Windows 的API函数去读取USB设备。

二、使用开源库libusb,官方网站是http://www.libusb.org/,在http://sourceforge.net/projects/libusb/http://libusb.info/这上面也有详细的使用说明。从官网上下载源代码,压缩包中的INSTALL文件有安装提示。

三、libusb有针对Windows平台下一个开源库http://sourceforge.net/projects/libusb-win32/http://sourceforge.net/p/libusb-win32/wiki/Home/。这个方案有尝试过,从官网上下载压缩包libusb-win32-bin-1.2.6.0,里面有一个inf-wizard.exe可执行程序,可把指定的USB设备识别成libusb-win32的设备,我们可以直接对那个设备进行读写。但是使用这种方式如果换另外一台电脑,那么还得重新为那个设备安装libusb-win32的驱动,不太方便。

第1步:此处我选择我的鼠标设备;



第2步:配置选中设备的信息;



第3步:libusb-win32为我们刚才选中的设备创建了一个Windiow下的驱动程序,之后我们安装他。



第4步:点击Install now之后,提示驱动安装成功,之后我的鼠标就不能用了。主要是驱动被换了。我们看看安装前和安装后设备管理器的内容。多出来的一个设备我们就可以通过libusb-win32的api去读写了。如果想回去继续用鼠标,把那个驱动卸载掉就行了。





四、使用第三方库hidapi,http://www.signal11.us/oss/hidapi/https://github.com/signal11/hidapi。这个方案是最简单的,代码量少,可移植。不过,正如名字所说,这个只适合hid的USB类。刚好下位机之前已配置成hid设备,那么决定采用这种方案。


上述除第一个方案剩下的三个方案,如果在windows下使用,都需要把相应的dll文件放到相应的目录下且指定lib文件的路径,类似这样。这样在程序中对设备的操作才不会报错。


  • 11
    点赞
  • 87
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
QT5是一种流行的跨平台应用程序开发框架,usbcan-2e-u是一种USB接口的CAN总线通信设备。上位机开发是指基于上位机计算机进行软件开发,用于与其他设备通信、控制、数据处理等应用。 QT5提供了丰富的图形界面和多媒体功能,使得上位机软件开发变得更加简单和高效。通过使用QT5编写的软件可以实现与usbcan-2e-u设备的连接和通信。开发者可以利用QT5的API和功能来实现CAN总线数据的读取、写入、解析和显示等操作。 在进行QT5 USBCAN-2E-U上位机开发时,首先需要了解usbcan-2e-u设备的功能和特性,包括其USB接口、CAN总线通信协议及数据格式等。然后,使用QT5的开发工具来创建桌面应用程序项目,并添加必要的界面组件和控件。通过编写数据交互的代码,实现与usbcan-2e-u设备的连接和通信。 对于CAN总线数据的读取,可以使用usbcan-2e-u提供的API接口进行调用,通过连接到的设备来读取CAN总线上的数据帧。读取的数据可以通过QT5的界面进行显示和处理,可以使用图表、表格等控件来展示CAN总线数据的实时变化。 对于CAN总线数据的写入,需要根据需要设置CAN总线的波特率、ID和数据信息等,并通过usbcan-2e-u设备将数据帧发送到CAN总线上。 在QT5 USBCAN-2E-U上位机开发过程中,还可以加入其他的功能模块,如数据记录、数据分析、参数设置等,以满足不同应用场景的需要。 总之,QT5 USBCAN-2E-U上位机开发可以通过QT5框架和usbcan-2e-u设备的API接口进行实现,其具体的开发步骤包括了解设备功能、创建项目、编写代码、连接设备、操作数据等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值