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

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 16:11   1061   0

一、使用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驱动生成工具

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP