发新帖本帖赏金 10.00元(功能说明)我要提问
返回列表
打印

GD32F103RB系列的USBD例程无法使用

[复制链接]
22852|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
casojie|  楼主 | 2021-9-14 09:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 casojie 于 2021-9-15 09:59 编辑

大哥大姐们!GD32F103RB系列的USBD例程无法使用,求各位能够帮小弟一把
GD32F103RB的USBD,想使用USB ACMCDC虚拟串口设备,但是下载官方例程后无法使用
按照经验,例程下载后不用修改,直接下载至MCU就可以跑,但是上位机毫无反应,甚至“未识别的描述符”类似的提示都没有原本项目上是使用STM32F072的MCU,没有问题,后面直接替换成GD32F103,都是64角,硬件告诉我说是PIN TO PIN,电路不用改,直接替换MCU即可
尝试过如下操作:
1. 更改系统时钟24,48,72,96均无效
2. demo中有个USB-pullup引脚,默认设置为PD的引脚,但是查询资料发现,USB相关的引脚应为PA11,PA12的引脚,不理解这个代码,更改后也无效
3. 文档上说有“《GD32F10x_USB_固件库使用指南2.0 》,但是这东西在哪,只有一个FS/HS混在一块写的USB文档,而文档更新日期为2019年,文档名称也不对,应该不是这个文档”。
现在只要能够跑通demo,能识别出一个CDC虚拟串口就好了!(计划是组合设备5个虚拟串口),但是不太确定能否识别五个,在中文文档上,描述有八个端点,但没有指出是双向端点,而英文文档上,有“Support up to 8 configurable bidirectional endpoints”,其表示是支持八个双向端点的吧!
求大哥大姐们帮助下,跑通demo,好人有好报!没有例程我发现我啥也不是太菜了!





使用特权

评论回复
沙发
sonicll| | 2021-9-14 11:41 | 只看该作者
USB的设备端,DP线上是需要上拉电阻的,例程里是用PD13接一个电阻,再接到DP线(PA12)上,代码控制PD13高低来控制上拉是否生效,你需要根据自己的电路设计来修改这个上拉电阻的控制方式

使用特权

评论回复

打赏榜单

casojie 打赏了 10.00 元 2021-09-16
理由:谢谢第一个提醒上拉电阻的问题!非常感谢, 一点心意

板凳
casojie|  楼主 | 2021-9-14 14:32 | 只看该作者
sonicll 发表于 2021-9-14 11:41
USB的设备端,DP线上是需要上拉电阻的,例程里是用PD13接一个电阻,再接到DP线(PA12)上,代码控制PD13高低 ...

我们的电路目前是PA12,PA11是直通上位机的,电路上没有额外的任何的器件,PA12自己不能去有上拉的操作吗?之前是使用STM32的,后面直接替换STM32,其他电路没改,老板告诉我是直接PIN TO PIN 的外面电路不用改,那简单的说就是,PA12自己没办法上拉,需要额外的电路和引脚去控制吗?谢谢大佬,小弟刚刚入门,多谢了

使用特权

评论回复
地板
sonicll| | 2021-9-15 08:53 | 只看该作者
casojie 发表于 2021-9-14 14:32
我们的电路目前是PA12,PA11是直通上位机的,电路上没有额外的任何的器件,PA12自己不能去有上拉的操作吗 ...

你之前用的是ST的F103还是F105/107?F103的USB和105/107的不一样,103的DP线必须外接上拉,105/107不需要外部上拉,而且103和105/107的USB代码是不通用的,他们的USB控制器结构完全不同

使用特权

评论回复
5
casojie|  楼主 | 2021-9-15 08:59 | 只看该作者
本帖最后由 casojie 于 2021-9-15 09:05 编辑
sonicll 发表于 2021-9-15 08:53
你之前用的是ST的F103还是F105/107?F103的USB和105/107的不一样,103的DP线必须外接上拉,105/107不需要 ...

之前是STM32F072, 非常感谢提供思路,我试试看
谢谢了!

使用特权

评论回复
6
casojie|  楼主 | 2021-9-15 09:04 | 只看该作者
sonicll 发表于 2021-9-15 08:53
你之前用的是ST的F103还是F105/107?F103的USB和105/107的不一样,103的DP线必须外接上拉,105/107不需要 ...

对了,像这种信息,比如需要外接一个上拉电阻的,从哪里可以得知,我看的文档里好像都没说明这个需外接上拉电阻

使用特权

评论回复
7
hub0001| | 2021-9-15 09:31 | 只看该作者

STM32F103RB系列的USBD例程无法使用

标准库的话修改一下这个宏对应的"USB_DISCONNECT"这个上拉电阻的PIN,HAL库的话也是类似的单词,如果是野火的板子直接就是PD6,其他不改,直接能跑,不行你打我


使用特权

评论回复
8
casojie|  楼主 | 2021-9-15 09:56 | 只看该作者
hub0001 发表于 2021-9-15 09:31
标准库的话修改一下这个宏对应的"USB_DISCONNECT"这个上拉电阻的PIN,HAL库的话也是类似的单词,如果是野火 ...

我才发现我原来打错标题了,是GD32,哈哈哈

使用特权

评论回复
9
hub0001| | 2021-9-15 14:09 | 只看该作者
GD的也需要上拉啊,他们的芯片直接跑ST的USB库是完全能跑的

使用特权

评论回复
评论
lmn2005 2023-5-14 20:45 回复TA
不行呀,我试了。 
10
casojie|  楼主 | 2021-9-15 14:49 | 只看该作者
hub0001 发表于 2021-9-15 14:09
GD的也需要上拉啊,他们的芯片直接跑ST的USB库是完全能跑的

主要是不知道需要外接上拉,唉太菜了

使用特权

评论回复
11
hub0001| | 2021-9-15 18:49 | 只看该作者
原理图发出来看看呗

使用特权

评论回复
12
casojie|  楼主 | 2021-9-16 08:51 | 只看该作者
hub0001 发表于 2021-9-15 18:49
原理图发出来看看呗

USB上的电路没有什么东西的,就是STM32USB的PA11,PA12 直接通到上位机,中间无任何器件

使用特权

评论回复
13
hub0001| | 2021-9-16 09:31 | 只看该作者
casojie 发表于 2021-9-16 08:51
USB上的电路没有什么东西的,就是STM32USB的PA11,PA12 直接通到上位机,中间无任何器件 ...

上拉怎么做的,N管还是P管还是直接GPIO?

使用特权

评论回复
14
casojie|  楼主 | 2021-9-16 11:07 | 只看该作者
hub0001 发表于 2021-9-16 09:31
上拉怎么做的,N管还是P管还是直接GPIO?

USB的DP(PA11)和DM(PA12)没有弄外置拉上,就是一根线直通上位机的,之前STM32F072的USB是可以用的

使用特权

评论回复
15
uniquechuck| | 2021-10-8 11:27 | 只看该作者
hub0001 发表于 2021-9-15 14:09
GD的也需要上拉啊,他们的芯片直接跑ST的USB库是完全能跑的

我用的GD32F405的芯片,上面直接跑ST的USB库,完全不行…

使用特权

评论回复
16
单片小菜| | 2021-10-8 13:09 | 只看该作者
USBD和USB有什么区别呢?楼主有相关的资料吗?

使用特权

评论回复
17
lmn2005| | 2023-5-15 20:56 | 只看该作者
请问楼主,问题应该解决了吗?

使用特权

评论回复
发新帖 本帖赏金 10.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

11

帖子

0

粉丝