[STM32H7]

NUCLEO-STM32H7A3测评之WINUSB移植

[复制链接]
2919|7
手机看帖
扫描二维码
随时随地手机跟帖
纪国圣|  楼主 | 2021-6-13 17:11 | 显示全部楼层 |阅读模式
本帖最后由 纪国圣 于 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文件,按如下修改:
1.PNG
3.打开usbd_cdc.c文件,按如下修改:
2.PNG
3.PNG
4.PNG
5.PNG
6.PNG
4.打开usbd_def.h文件,按如下修改:
7.PNG
8.PNG
9.PNG
5.打开usbd_ctlreq.c文件,按如下修改:
10.PNG
11.PNG
12.PNG
13.PNG
14.PNG
6.打开usbd_desc.c文件,按如下修改:
15.PNG
VID和PID可根据需要修改,这里为了和别人的上位机配合,暂且为2020;
16.PNG
17.PNG
18.PNG
19.PNG
20.PNG
21.PNG
22.PNG
7.main.c编写测试程序:
27.PNG
8.编译下载,可用看到WINUSB设备被识别:
23.PNG
24.PNG
25.PNG
如果USB的名称与设置不符,需要在设备管理器中删除设备并刷新设备。
为了测试接收性能,再做回环代码修改:
26.PNG
9.打开上位机,连接USB,效果如下:
26.gif
STM32源代码如下:
STM32H7A3_WINUSB.zip (1.28 MB)

使用特权

评论回复
天灵灵地灵灵| | 2021-6-15 15:12 | 显示全部楼层
没说为何这么修改。。。。

使用特权

评论回复
chenqianqian| | 2021-6-15 21:00 | 显示全部楼层
虚拟串口稳定吗?

使用特权

评论回复
纪国圣|  楼主 | 2021-6-19 10:46 | 显示全部楼层
天灵灵地灵灵 发表于 2021-6-15 15:12
没说为何这么修改。。。。

可以看看这篇**https://www.amobbs.com/thread-5530162-1-1.html

使用特权

评论回复
纪国圣|  楼主 | 2021-6-19 13:13 | 显示全部楼层
本帖最后由 纪国圣 于 2021-6-19 21:36 编辑
netjob 发表于 2021-6-19 11:47
楼主,H7的USB 如何才能做到速度可以10MB ,20MB的传输速度的啊。 是USB2.0  或者更更强悍的USB3.0啊 ...

H7的USB FS最大传输速率只有12Mbps。要想达到10M/20M,只能使用USB HS+外挂PHY,可以达到480 Mbps的速率。USB3.0就不要想了,STM32不支持这种。 WINUSB.zip (99.2 KB)

使用特权

评论回复
纪国圣|  楼主 | 2021-6-19 13:20 | 显示全部楼层

看上位机程序写的怎样了。试过几款上位机,能稳定的不多。

使用特权

评论回复
纪国圣|  楼主 | 2021-7-10 08:58 | 显示全部楼层
现修改WINUSB的驱动,使之与ST的驱动库独立。大家只需先生成一个CDC工程,然后删除CDC相关文件,再将USB_DEVICE放入工程中,添加里面的文件,编译下载就可以使用了。 USB_DEVICE.zip (21.79 KB)

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
xode + 1 很给力!
gyh974| | 2021-7-12 09:09 | 显示全部楼层
谢谢分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

77

主题

401

帖子

4

粉丝