本帖最后由 纪国圣 于 2021-6-13 17:20 编辑
首先说明一下,本帖是基于https://www.cnblogs.com/guanglun/p/12079192.html和https://github.com/596142041/stm32winusb的程序修改而来,只介绍如何通过CubeMX生成的USB CDC修改成WinUSB。WIN8及以上系统无需安装驱动和编写INF文件。1.准备一个由CubeMX生成的可用的USB CDC程序。2.打开usbd_conf.h文件,按如下修改:
3.打开usbd_cdc.c文件,按如下修改:
4.打开usbd_def.h文件,按如下修改:
5.打开usbd_ctlreq.c文件,按如下修改:
6.打开usbd_desc.c文件,按如下修改:
VID和PID可根据需要修改,这里为了和别人的上位机配合,暂且为2020;
7.main.c编写测试程序:
8.编译下载,可用看到WINUSB设备被识别:
如果USB的名称与设置不符,需要在设备管理器中删除设备并刷新设备。
为了测试接收性能,再做回环代码修改:
9.打开上位机,连接USB,效果如下:
STM32源代码如下:
STM32H7A3_WINUSB.zip
(1.28 MB)
上位机源代码(网友guanglun编写):
guanglunking-WINUSB_PC_Test-master.zip
(95.53 KB)
上位机有点大,大家可以百度搜索WINSUB_PC_Test_boxed.exe。推荐大家看看开头推荐的网站,对代码的理解会有帮助。
|