使用STM32CubeMX生成USB驱动程序 USB无法检测到的问题 生成USB驱动

本文详细介绍了如何使用STM32CubeMX生成USB驱动程序,包括选择芯片、配置时钟、设置USB选项、处理调试问题以及解决电脑无法检测到USB设备的故障。同时,还介绍了如何使用inf-wizard工具生成USB驱动并安装,确保设备能被电脑识别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以STM32CubeMX生成USB驱动为例,其步骤如下:

一、使用STM32CubeMX生成USB驱动程序

打开STM32CubeMX软件,选择Start My project formMCU,点ACCESS TO MCU SELECTOR。

选择相应的芯片信号,点击Start Project

配置RCC的High Speed Clock为图中所示,位置为外部时钟。

选择SYS的Debug为Serial Wire,开启调试,否则下载程序后无法再次下载。具体解决方法参考链接:

ST-LINK无法下载程序的解决方法

在Connectivety下选择USB,勾选Device(FS),配置NVIC的中断,打上对勾,开启中断。

在USB_DEVICE中的mode,选择Communication Device Class配置,在Device Descriptor中配置USB的信息,根据图片自行修改。

在Clock configuration中,选择HES外部晶振,选择PLLCLK。在HCLK(MHz)下,填入72,点回车,等待系统自动配置时钟,配置完成后,USB时钟为48MHz,注意USB必须为48MHz。

在Project Manager中,一次填写工程名称,路径,IDE选择MDK-ARM,Minimum Heap Size改为0x400或者0x800,否则可能出现USB在调用USBD_malloc() 申请内存是失败,导致数据无法接收的情况。点击右上角GENERATE CODE。

打开工程文件,编译后下载到板子上,会在设备管理器看到这个设备

测试中出现电脑上检测不到USB设备的情况,经过查阅资料,USB的DP引脚必须上拉1.5K欧的电阻,才能检测到,否则电脑上检测不到。

电脑检测到USB的设备后,还需要安装相应的驱动。使用inf-wizard工具生成USB驱动。

打开后,选择对应的设备,一路NEXT下去,等一会就会生成对应的驱动,安装该驱动,设备就能被电脑识别。

工程文件和USB驱动生成工具稍后附上链接。

下载链接:

STM32F103的USB工程及USB驱动生成工具

STM32F103的USB上位机软件

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值