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源码截图如下
5、window目录下有hid.c、 hidapi.h 、hidtest.cpp文件截图如下
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、建立工程2、把刚刚准备的源码 hid.c、 hidapi.h 、hidtest.cpp拷贝在工程目录下
3、在QT 配置.pro文件中加入参数
6、修改函数hidtest.cpp
7、在修改main.cpp 函数
8、运行获取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