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。