主要是在前一篇的基础上,学习libusb-win32的API使用。程序很简单,就是打印指定USB设备的设备描述符(当然其他描述符也是可以的)。

 1 #include "testlibusb.h"
 2
 3
 4 #define MY_VID 0x5345
 5 #define MY_PID 0x1234
 6
 7
 8 USB::USB()
 9 {
10     usb_init(); /* initialize the library */
11     //usb_set_debug(255);
12     usb_find_busses(); /* find all busses */
13     usb_find_devices(); /* find all connected devices */
14
15     if (!(udev = open_dev())) {
16         qDebug("error opening device: %s", usb_strerror());
17         exit(1);
18     } else
19         qDebug("open success: device %04X:%04X opened", MY_VID, MY_PID);
20
21     printf_device_descriptor(&dev->descriptor);
22     usb_close(udev);
23
24     //my_usb_get_device_list();
25     resize(320, 240);
26 }
27
28 usb_dev_handle *USB::open_dev(void)
29 {
30     struct usb_bus *bus;
31     //struct usb_device *dev;
32
33     for(bus = usb_get_busses(); bus; bus = bus->next) {
34         for(dev = bus->devices; dev; dev = dev->next) {
35             if((dev->descriptor.idVendor == MY_VID) && (dev->descriptor.idProduct == MY_PID)) {
36                     return usb_open(dev);
37             }
38         }
39     }
40     return 0;
41 }
42
43 void USB::printf_device_descriptor(usb_device_descriptor *desc)
44 {
45         qDebug("bLength:             %u",     desc->bLength);
46         qDebug("bDescriptorType:     %02Xh",  desc->bDescriptorType);
47         qDebug("bcdUSB:              %04Xh",  desc->bcdUSB);
48         qDebug("bDeviceClass:        %02Xh",  desc->bDeviceClass);
49         qDebug("bDeviceSubClass:     %02Xh",  desc->bDeviceSubClass);
50         qDebug("bDeviceProtocol:     %02Xh",  desc->bDeviceProtocol);
51         qDebug("bMaxPacketSize0:     %02Xh",  desc->bMaxPacketSize0);
52         qDebug("idVendor:            %04Xh",  desc->idVendor);
53         qDebug("idProduct:           %04Xh",  desc->idProduct);
54         qDebug("bcdDevice:           %04Xh",  desc->bcdDevice);
55         qDebug("iManufacturer:       %u",     desc->iManufacturer);
56         qDebug("iProduct:            %u",     desc->iProduct);
57         qDebug("iSerialNumber:       %u",     desc->iSerialNumber);
58         qDebug("bNumConfigurations:  %u",     desc->bNumConfigurations);
59 }

这里我指定的USB设备是Tiny6410开发板。运行效果如下:

下一步就是上位机与开发板进行数据互传。

转载于:https://www.cnblogs.com/lknlfy/p/3191889.html

Qt下libusb-win32的使用(一)打印设备描述符相关推荐

  1. Qt下libusb-win32的使用(转)

    源:Qt下libusb-win32的使用(一)打印设备描述符 主要是在前一篇的基础上,学习libusb-win32的API使用.程序很简单,就是打印指定USB设备的设备描述符(当然其他描述符也是可以的 ...

  2. libusb win32简介以及应用

    1.libusb win32 作用以及安装步骤. LibUSB-Win32是一个用于Windows操作系统(Win98SE.WinME.Win2k和WinXP.Vista.Win7等)上的通用USB设 ...

  3. Qt下使用vs编译的库文件

    Qt下调用VS制作的静态库    1.制作静态库的编译器和Qt版本的编译器是一样     如果是使用Visual Studio 制作的静态库,比如使用Visual Studio 2013制作的,而要使 ...

  4. Qt下一行代码就可以使用的稳定易用的日志log类

    Qt下一行代码就可以使用的稳定易用的日志类 此日志类是基于Qt 自带的 扩展的一个易用的日志类, 使用的是Qt自带的日志输出形式, 已长期运行在许多实际项目中,稳定可靠,而且跨平台, 在windows ...

  5. Qt下的OpenGL 编程(3)绘制平面几何体

    一. 提要 之前的一篇教程已经搭建好了Qt下的OpenGL的编程环境,几天要来学习的就是OpenGL的2D绘图. 2D作为绘图的基础,还是很值得去好好学习,比如迪卡尔坐标,透视设置等等,而所谓的3D, ...

  6. libusb系列-002-Windows下libusb源码编译

    libusb系列-002-Windows下libusb源码编译 文章目录 libusb系列-002-Windows下libusb源码编译 摘要 Windows下编译libusb库 下载源码 进入msv ...

  7. QT下视频通话的实现

    ** 1 QT下视频通话的实现 ** 本文使用QT完成了两个不同终端的视频通话,笔记本电脑+Linux开发板. 1.1 硬件资源介绍 带摄像头的电脑 + 正点原子Alpha Linux开发板(由于Li ...

  8. linux+Qt 下利用D-Bus进行进程间高效通信的三种方式

    linux+Qt 下利用D-Bus进行进程间高效通信的三种方式 原文链接: https://www.cnblogs.com/wwang/archive/2010/10/27/1862552.html ...

  9. Qt下使用Shader绘制三角形

    在Qt下使用可编程管线编写OpenGL的流程是怎样的呢? 下面演示了Qt下使用可编程管线的基本代码:(绘制三个不同的三角形,并做些旋转变换) 在Qt中,我们从QGLWidget继承,来实现OpenGL ...

最新文章

  1. Flask-Email中的email_dispatched 信号支持信号量使用和实现
  2. Scala主构造方法和辅助构造方法
  3. 通用权限管理系统组件 (GPM - General Permissions Manager) 给信息管理系统加一个初始化的功能,调用存储过程...
  4. 智联招聘简历如何导出html,如何将拉勾网(智联招聘)的预览简历导出来
  5. 重庆邮电大学计算机科学与技术培养方案,重庆邮电大学计算机科学与技术学院.doc...
  6. VUE项目中使用this.$forceUpdate()强制页面重新渲染
  7. 【java】 Java 类加载器 破坏双亲委派
  8. adb命令查看手机电量_desired Capabilities和aapt命令查看手机包信息
  9. [转]Linux下的动态连接库及其实现机制
  10. vscode写c++好吗_寒假实习简历你会写吗?四个问题帮你写好寒假实习简历
  11. 光标移动事件。 gridview光标移动变色
  12. MongoDB复制集同步慢问题分析
  13. RecordCount = -1问题
  14. 机械传动机构思维导图
  15. java实现猴子排序_java实现猴子排序(BogoSort)
  16. 计算机网络和HTTP协议:HTTP篇
  17. [附源码]java毕业设计咖啡销售管理系统-
  18. 天龙八单机服务器 修改 藏宝,天龙八部单机版
  19. GC8418 数字光纤音频解码芯片 光纤解码芯片 MS8412替代
  20. 由浅入深玩转华为WLAN—19 漫游系列(6)不同AC之间AP漫游的概述以及二三层漫游处理过程

热门文章

  1. 移动端采用Flexible将PX转换REM适配及开发中Retina屏1px边框的两种解决方案
  2. 阿里巴巴发布AliOS品牌 重投汽车及IoT领域
  3. iOS 自己封装的SDK 打包与合并,新手教程!!!
  4. WIN版的Jenkins Master加入LINUX的SLAVE节点,并作C++程序的集成交付
  5. Egret 集成第三方库 记录
  6. LeetCode 201. 数字范围按位与
  7. SpringCloud Alibaba Sentinel 项目基础环境搭建
  8. 手把手教你学dsp_新课免费看| 手把手教你学DSP,C2000从入门到精通
  9. 列表解析python_基于Python列表解析(列表推导式)
  10. ./configure --prefix