Qt上位机HID和下位机stm32的USBHID通讯

Qt上位机和下位机stm32的USBHID通讯

1. 上位机Qt程序介绍

1.1、新建QT widget工程hidstm32生成工程文件后加入hidapi库文件

在这里插入图片描述
备注:调试时会弹出错误,因为系统缺少依赖文件msvcr100d.dll,把它放到windpws中SysWoW64或者System32文件夹中。

1.2工程中加入库

在这里插入图片描述

1.3调用hid_open(0x10c4, 0x82cd, NULL);打开下位机对应的VID和PID的USB设备,并设置成读非阻塞模式hid_set_nonblocking(handle, 1);

在这里插入图片描述
我在程序中加入定时器time不间断调用hid_read(handle, buf, 64);读取hid数据。

1.4写入hid数据

在这里插入图片描述
在这里插入图片描述
调用hid_write(handle, buffer, 65);写数据之前,写入数组一定要是0,并且写入数据长度要是65,因为下位机指定OUTREPORT为64,然后加上1;

备注:上面的编译器是MInGW32。

2. 下位机stm32程序介绍

2.1 stm32程序是CubeMX自动生成的工程,具体步骤参照STM32 使用Cubemx 建一个USB(HID)设备下位机文章完成。我选择的是makefile工程,因为公司不能用破解软件

2.3 程序烧录进stm32F103C8后单片机插入USB,运行上位机程序

在这里插入图片描述
PC往下发数据,单片机将收到的数据再发送给PC。

2.4 本实验的QT源程序和stm32源程序全部打包开源,名位只需要下载运行验证即可。QT源码

STM32源码

发布了2 篇原创文章 · 获赞 0 · 访问量 402

猜你喜欢

转载自blog.csdn.net/weixin_41915375/article/details/104689828