window下使用QT 驱动HID设备

window下使用QT 驱动HID设备

近来发现技术帖子里面述说关于hidapi 如何在QT中使用,并没有比较详细的说明。故笔者为了方便大家使用,分享关于hidapi 如何在QT 5中使用

1、准备源码

1、在https://github.com/signal11/hidapi 下载HID源码
2、解压源码
3、拷贝解压目录下的\hidapi-master\hidapi\hidapi.h文件到\hidapi-master\windows目录
4、拷贝解压目录下的\hidapi-master\hidtest\hidtest.cpp文件到\hidapi-master\windows目录
5、window目录下有hid.c、 hidapi.h 、hidtest.cpp此文件即可

1、下载HID源码截图如下
window下使用QT 驱动HID设备
5、window目录下有hid.c、 hidapi.h 、hidtest.cpp文件截图如下window下使用QT 驱动HID设备

2、打开QT建立新工程

1、打开QT建立新工程
2、把刚刚准备的源码 hid.c、 hidapi.h 、hidtest.cpp拷贝在工程目录下
3、在QT 配置.pro文件中的SOURCES 加入 hid.c hidtest.cpp 如下
SOURCES +=
hid.c
hidtest.cpp
main.cpp
4、加入头文件 hidapi.h 如下
HEADERS +=
hidapi.h
5、加入库文件编译参数 -mwindows -lsetupapi 如下
LIBS += -mwindows -lsetupapi

6、把hidtest.cpp 的 int main(int argc, char* argv[]) 改为int test_hid(int argc, char* argv[])
7、在 main.cpp 加入
#include
extern int test_hid(int argc, char* argv[]);
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
test_hid(argc,argv);
return a.exec();
}
8、运行即可

1、建立工程
window下使用QT 驱动HID设备2、把刚刚准备的源码 hid.c、 hidapi.h 、hidtest.cpp拷贝在工程目录下window下使用QT 驱动HID设备3、在QT 配置.pro文件中加入参数window下使用QT 驱动HID设备6、修改函数hidtest.cpp
window下使用QT 驱动HID设备7、在修改main.cpp 函数
window下使用QT 驱动HID设备8、运行获取HID设备成功
window下使用QT 驱动HID设备

3、hidapi-master文件夹说明

hidapi-master文件夹

  • hidapi-master
    • hidapi
    • hidtest
    • libusb
    • linux
    • mac
    • windows
      由于存在版本较多,故不一一说明列出,只详细说明本章教程的window 相关文件
      hidapi\hidapi.h hid头文件,API接口的函数定义
      windows\hid.c hid源文件
      hidtest\hidtest.cpp 测试hid api 函数
      windows\Makefile.mingw MinGW的Makefile文件(window版本库封装或者使用都参考此文件)
      说明:DLL_LDFLAGS = -mwindows -lsetupapi 因为hidapi 使用了setupapi 和window版本的MinGW编译器故
      在QT中加入了LIBS += -mwindows -lsetupapi