QT 下使用 hidapi 进行USB HID 通讯

一 关于HID Api

https://github.com/signal11/hidapi
这是对各个OS下usb hid 读写接口的封装.大大简化了hid应用开发
这里注明各个平台接口

HIDAPI has four back-ends:
    * Windows (using hid.dll)
    * Linux/hidraw (using the Kernel's hidraw driver)
    * Linux/libusb (using libusb-1.0)
    * FreeBSD (using libusb-1.0)
    * Mac (using IOHidManager)

如果想在Mac 下编译动态库可

准备工作:

brew install autoconf
brew install automake
brew install libtool

如果报错错误提示,
没有安装autoconf

./bootstrap: line 2: autoreconf: command not found
这是没有安装automake
autoreconf: failed to run aclocal: No such file or directory

error: Libtool library used but 'LIBTOOL' is undefined

编译

./bootstrap
./configure
make

二. QT 对于 hidapi 的支持

QT直接使用 hidapi有很多问题,比如缺省QT signal支持,对于界面显示数据结构缺少. 因为有人写了 QHidApi来解决这一些问题

https://github.com/simonmeaden/qhidapi

但是有一个问题,它是编译成一个QT模块,无论是在项目中运行还是调试都是相当麻烦

第二个作者是在Android测试,缺省mac/windows/Linux的编译pro.
windows还需要setupApi.dll这个库

三. TestHidApi

因为我把他的example中的TestHidApi 抽出来单独做个项目,QHidApi/hidapi均作为其子项目统一编译.并加入对Mac/Windows/Linux的支持.
同时也修正一些bug.用于Qt开发快速对hid测试

QT 下使用 hidapi 进行USB HID 通讯_第1张图片
image.png

你可能感兴趣的:(QT 下使用 hidapi 进行USB HID 通讯)