硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2380|回复: 15
收起左侧

[USB] STM32H750VBT6 USB3300虚拟串口枚举失败

[复制链接]

0

主题

13

回帖

13

积分

新手上路

积分
13
发表于 2021-12-9 11:43:56 | 显示全部楼层 |阅读模式
本帖最后由 weiyouren 于 2021-12-9 21:49 编辑

cubemax配置如下

引脚配置

引脚配置

USB时钟配置

USB时钟配置

USB_HS

USB_HS

USB_Device

USB_Device
1639021809(1).png
都是默认配置,用的是STM32H750的核心板,杜邦线接的USB3300模块,所以硬件是没问题的,接线我检查过好几次,一根根检查也是没问题的,堆栈大小也调大了,我试过调到0x1000也不行,cubemax生成的代码编译没问题,下载没问题,板子可以调试,可以运行,但是USB枚举失败,显示黄色感叹号,未识别USB设备,工程我上传到网盘了链接: 链接: https://pan.baidu.com/s/1vg3SEM4gQMu5URpZ7yXAKg 提取码: ci5a


时钟配置1

时钟配置1
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106997
QQ
发表于 2021-12-9 12:12:11 | 显示全部楼层
楼主,你的USB时钟和USB引脚配置在那个文件里面。
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2021-12-9 12:52:51 | 显示全部楼层
eric2013 发表于 2021-12-9 12:12
楼主,你的USB时钟和USB引脚配置在那个文件里面。

在USB_DEVICE/Target下面是引脚配置
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2021-12-9 16:03:14 | 显示全部楼层
eric2013 发表于 2021-12-9 12:12
楼主,你的USB时钟和USB引脚配置在那个文件里面。

快救救孩子吧
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106997
QQ
发表于 2021-12-9 17:56:29 | 显示全部楼层

时钟配置只有这些么,做不了48MHz

    PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_USB;
    PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_PLL;
    if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
    {
      Error_Handler();
    }
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106997
QQ
发表于 2021-12-9 18:01:51 | 显示全部楼层
试试我的

STM32H7的USB时钟使HSI48注意事项
https://www.armbbs.cn/forum.php? ... 3403&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2021-12-9 21:46:15 | 显示全部楼层
eric2013 发表于 2021-12-9 18:01
试试我的

STM32H7的USB时钟使HSI48注意事项

我仔细看了你的时钟配置,时钟源用的HSI48,就是内部48Mhz那个时钟源,我也改了cubemax配置成RC48输出到USB就是你这个HSI48,就是帖子上第二个图,USB时钟那里选第三个。然后对比生成的时钟配置,发现些区别,比如systemclock_config里你用的MODIFY_REG(PWR->CR3, PWR_CR3_SCUEN, 0),而cube生成用的是HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY);你用的是VOS1,我用的是VOS0,因为我是V版本芯片原因?否正我配置不到480Mhz的主频,剩下的时钟部分配置除了分频和倍频数不一样就基本一样了。接着你有一些使能CSI clock啊之类的,我没有,不知道是不是你别的地方用到了,我没用到。最后你USB时钟配置部分选的RCC_USBCLKSOURCE_HSI48这部分跟cube生成代码一样了,在USB_DEVICE/Target/usbd_config.c里。但是!!!!我试过了一样的,还是感叹号,系统win10,应该是不需要驱动的,ST那个驱动我也安装过了,如果不要USB3300.直接用STM32H750的USB FS虚拟串口,配置完就能正常识别。我都被折腾麻了。
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2021-12-9 21:50:42 | 显示全部楼层
eric2013 发表于 2021-12-9 18:01
试试我的

STM32H7的USB时钟使HSI48注意事项

我重新上传了工程到网盘,更新了上面的网盘链接,设置成HSI48了,但还是不行。
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2021-12-10 15:03:09 | 显示全部楼层
顶一下,或者哪位能提供下STM32H750 USB3300的代码给我对比下,为什么我的就是不行,不知道是我哪里没做好,还是HAL库的坑
回复

使用道具 举报

4

主题

18

回帖

45

积分

新手上路

积分
45
发表于 2021-12-10 15:44:21 | 显示全部楼层
weiyouren 发表于 2021-12-10 15:03
顶一下,或者哪位能提供下STM32H750 USB3300的代码给我对比下,为什么我的就是不行,不知道是我哪里没做好 ...

mdk_stm32h7_hs.7z (529.26 KB, 下载次数: 46)
试试看看这个
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2021-12-13 09:43:11 | 显示全部楼层

你试过能用吗,我试了还是不行
回复

使用道具 举报

4

主题

18

回帖

45

积分

新手上路

积分
45
发表于 2021-12-13 20:11:40 | 显示全部楼层
weiyouren 发表于 2021-12-13 09:43
你试过能用吗,我试了还是不行


实际测试可用,正确显示串口。

我用的原理图如下,可以参考,单usb device 配置。


2021-12-13_200925.png
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2021-12-15 16:53:30 | 显示全部楼层
jnny_cn 发表于 2021-12-13 20:11
实际测试可用,正确显示串口。

我用的原理图如下,可以参考,单usb device 配置。

第10脚,为啥是2.5v啊,我看手册是悬空
回复

使用道具 举报

4

主题

18

回帖

45

积分

新手上路

积分
45
发表于 2021-12-15 19:46:59 | 显示全部楼层
weiyouren 发表于 2021-12-15 16:53
第10脚,为啥是2.5v啊,我看手册是悬空

悬空没问题,实际测试过悬空完全可以。
回复

使用道具 举报

2

主题

9

回帖

20

积分

新手上路

积分
20
发表于 2021-12-22 20:20:38 | 显示全部楼层
把D-Cache关掉试试看?
回复

使用道具 举报

0

主题

13

回帖

13

积分

新手上路

积分
13
 楼主| 发表于 2021-12-23 09:55:53 | 显示全部楼层
archon 发表于 2021-12-22 20:20
把D-Cache关掉试试看?

试过了不行,我打算重新买模块再试试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-14 04:36 , Processed in 0.241994 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表