QT 如何写USB通信



接到任务要求通过USB连接的设备进行通信,从而控制硬件设备,遗憾的是自己之前没有搞过软硬结合的东东。头一次搞这样的东西,我们先来了解一下当USB设备插入电脑后,在电脑里能显示出来该设备的VID、PID及端口号,如果端口号没有也可以用NULL代替。如图


然后去下载DLL,地址http://download.csdn.net/detail/yuanchunze/7009269

先建一个QT程序,添加已经下载的HidApi.h的头文件的引用

同时在需要调用该API的地方添加

#pragma comment(lib, "hidapi.lib")

这样我们就可以调用API了

首先我们要打开这个设备

handle = hid_open(0x2033, 0x3331, L"485323323232434232");

当handle大于零则与该设备成功通信。

然后我们读取当前设备的状态

res = hid_read(handle, outbuf, sizeof(outbuf));

注意每个设备的头字节都不一样,因为不同的芯片有不同的控制,所以一定要获得,写入和读取状态的头字节

outbuf[0]=0x39;
outbuf[1]=0x0C;

你看第一个字节就是与设备屁匹配到,当首字节为0x39则可以和系统通信,第二个则是字节长度

而写命令则是hid_write方法。

  • 10
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值