使用libusb开发库可以很方便的与usb通信。

在使用这个库之前需要做几件事情

1.libusb的安装

   在ubuntu中使用sudo apt-get isntall libusb* 可以快速的安装,如果想选择性的安装则使用sudo apt-cache search libusb查看要安装的软件包,然后sudo apt-get install ...进行安装

 

2.确定供应商id 和 产品id,通过这两个id可以确定我们的usb设备

 使用lsusb命令查看,然后使用libusb -v查看具体信息

 

3 确定传输方式、输入端点、输出端点

  命令同2

  我的usb是bulk传输方式、输入端点0x86,输出端点0x02

 

4.在项目中添加添加库 -lusb

  不添加的话会出现找不到函数的问题,如果提示找不到usb.h文件很可能是你没安装好libusb库

 

 5.软件完成之后要使用sudo运行程序,不然usb_bulk_write之类的函数会调用失败。

 

6.附上官网地址和帮助文档

官网:http://www.libusb.org/

帮助文档:http://libusb.sourceforge.net/doc/

 

下面看一下bulk的使用例子:

usbhelper.h

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <usb.h>
 4 #include <QtCore/QObject>
 5 #include <QtCore/QString>
 6 #include <QtCore/QStringList>
 7 class UsbHelper : public QObject
 8 {
 9     Q_OBJECT
10 public:
11     UsbHelper();
12     ~UsbHelper();
13 
14     bool InitUsb();
15 
16     bool WriteData(const QString& pBuffer);
17 
18     bool ReadData(QString &pBuffer);
19 
20     bool WaitResponse(int pTimeout, QStringList &pResponseList);
21     
22     void CloseUsb();
23 
24     bool SendCommand(const QString &pCommand, QStringList &pResponseList);
25 private:
26     usb_dev_handle *mUsbHandle;
27     struct usb_device        *mUsbDev;
28 };
View Code

相关文章:

  • 2022-12-23
  • 2021-08-09
  • 2021-09-02
  • 2021-07-10
  • 2021-05-19
  • 2021-10-17
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-29
  • 2021-09-01
  • 2022-12-23
相关资源
相似解决方案