[STM32F1] STM32F103基于标准外设库的USB驱动程序

[复制链接]
4315|39
 楼主| knk 发表于 2024-5-19 14:39 | 显示全部楼层 |阅读模式
本帖最后由 knk 于 2024-5-19 14:53 编辑

找遍全网都没有找到基于标准外设库的WinUSB程序,大多数能找到的资源都是基于HAL库的,HAL太大,编译速度也慢,还是想用标准外设库,求人不如求己。
经过几天的调试终于把WinUSB调通了,一个工程集成了HID透传,MSC双磁盘,WinUSB透传。

USB工程手动选择USB类

USB工程手动选择USB类

不得不说标准外设库的代码真的是小,通俗易懂,不用操作寄存器,函数名直观明了。
以下是USB HID透传的代码编译结果

USB HID透传工程

USB HID透传工程

以下是USB MSC 双磁盘的编译结果

USB MSC 双磁盘工程

USB MSC 双磁盘工程

以下是USB WinUSB的编译结果

USB WinUSB工程

USB WinUSB工程

以下是USB HID透传测试

USB HID透传测试

USB HID透传测试

以下是USB MSC 双磁盘测试

USB MSC 双磁盘测试

USB MSC 双磁盘测试

以下是WinUSB透传测试

WinUSB透传测试

WinUSB透传测试

以下是烧录文件,所有烧录文件都是基于STM32F103芯片,需要外接8M晶振
以下是USB HID透传的烧录文件
STM32F103 USB HID透传 烧录文件.rar (64.69 KB, 下载次数: 4)
以下是USB MSC双磁盘的烧录文件
STM32F103 USB MSC双磁盘烧录文件.rar (77.27 KB, 下载次数: 4)
以下是USB WinUSB透传的烧录文件
STM32F103 WinUSB透传烧录文件.rar (64.38 KB, 下载次数: 8)

以下是网上找的USB HID透传测试用的上位机软件
USB HID透传测试上位机软件.rar (1.54 MB, 下载次数: 9)
由于没有找到USB WinUSB的透传测试上位机软件,所以自己写了一个
USB WinUsb透传测试上位机软件.rar (34.04 KB, 下载次数: 9)





 楼主| knk 发表于 2024-5-19 14:46 | 显示全部楼层
以下是收费附件
STM32F103的源码
[payamount]300.00[/payamount]
[pay] HID_EP1 & MSC_EP1 & WinUSB_EP1 2024-05-19.rar (457.31 KB, 下载次数: 2) [/pay]
 楼主| knk 发表于 2024-5-19 14:56 | 显示全部楼层
以下是收费附件
USB WinUSB透传测试上位机软件源码
[payamount]500.00[/payamount]
[pay] USB WinUSB透传测试上位机 VB.net源码 2024-05-19.rar (264.14 KB, 下载次数: 2) [/pay]
以下是USB WinUSB透传测试上位机软件工程编译结果

USB WinUSB透传测试上位机软件工程编译结果

USB WinUSB透传测试上位机软件工程编译结果

gyh974 发表于 2024-6-24 11:15 | 显示全部楼层
这值不值800块?

评论

knk
看对谁来说了,对于不需要的人就分文不值  发表于 2024-5-27 13:14
OKAKAKO 发表于 2024-6-24 20:23 | 显示全部楼层
现在USB都是开源的了,其实USB还是驱动问题

评论

knk
用WinUSB或HID,可以免驱  发表于 2024-8-7 12:39
knk
没错,USB是开源,如果不开源,怎么移植呀  发表于 2024-5-27 13:15
kepe 发表于 2024-7-31 01:07 | 显示全部楼层
这个框架包括HID透传、MSC双磁盘和WinUSB透传的集成吗?
盗铃何须掩耳 发表于 2024-7-31 11:16 | 显示全部楼层
东西确实好,价格有点贵。
AdaMaYun 发表于 2024-7-31 14:34 | 显示全部楼层
STM32F103基于标准外设库的USB驱动程序基本就是驱动的更新
 楼主| knk 发表于 2024-8-7 12:38 | 显示全部楼层
kepe 发表于 2024-7-31 01:07
这个框架包括HID透传、MSC双磁盘和WinUSB透传的集成吗?

是的,稍微修改一下可以做成WinUSB、HID、MCS复合设备
pentruman 发表于 2024-8-12 21:39 | 显示全部楼层
使用与STM32F103硬件版本相匹配的标准外设库和USB驱动程序。
jtracy3 发表于 2024-8-13 00:11 | 显示全部楼层
配置端点的最大包大小和传输速率,以满足数据传输的需求。
mattlincoln 发表于 2024-8-13 03:20 | 显示全部楼层
实现USB事件处理函数,如挂起、恢复、SOF(Start Of Frame)、数据包接收/发送等。
macpherson 发表于 2024-8-13 06:28 | 显示全部楼层
优化USB数据传输的性能,减少延迟,提高吞吐量。
sanfuzi 发表于 2024-8-13 15:32 | 显示全部楼层
深入理解 USB 协议的规范,包括各种事务类型、数据包格式、控制传输、中断传输、批量传输和等时传输等。
linfelix 发表于 2024-8-13 17:40 | 显示全部楼层
考虑USB设备的电源管理,包括低功耗模式和电源限制。
hearstnorman323 发表于 2024-8-15 11:10 | 显示全部楼层
考虑实现固件版本检查和回滚机制,以防新固件出现问题。
updownq 发表于 2024-8-15 14:31 | 显示全部楼层
正确编写USB描述符,包括设备描述符、配置描述符、字符串描述符等,这些描述符在设备枚举期间由主机读取。
alvpeg 发表于 2024-8-17 11:42 | 显示全部楼层
实现USB中断服务程序(ISR)来处理USB事件,如端点状态变化、数据传输完成等。
i1mcu 发表于 2024-8-17 18:24 | 显示全部楼层
及时处理 USB 相关的中断,如端点传输完成中断、复位中断等,并在中断服务函数中进行相应的操作。
狄克爱老虎油 发表于 2024-8-17 22:17 来自手机 | 显示全部楼层
现在好多新型号都没有裸机USB例程了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

knk

17

主题

383

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部