liushaolin 发表于 2021-3-2 20:39

STM32F105RCT6 移值到GD32F105 枚举成功后却变成了高速设备

首次用GD32,原本想用GD32F105替换STM32F105 采用原来ST的库,用作USB HOST移值成功,可用作DEVICE端时枚举成功,原来是个全速设备,枚举后却成了一个高速设备.我没用VBUS,VBUS检测电路USBFS_GCCFG寄存器中的VBUSIG控制位始终是0,设置不了1,不知要怎么弄.

x史可法 发表于 2021-3-2 23:37

你在替换的时候做了什么设置

正圆椭圆 发表于 2021-3-2 23:48

稍微有点笼统不是很好判断 楼主方便就将多一点

liushaolin 发表于 2021-3-3 06:41

x史可法 发表于 2021-3-2 23:37
你在替换的时候做了什么设置

替换时没有设置什么,使用外部晶8M晶振,ST片子是OK的
跟踪发现
在进入 USB_OTG_STS USB_OTG_CoreInit(USB_OTG_CORE_HANDLE *pdev)函数时
    gccfg.d32 = 0;
    gccfg.b.pwdn = 1;
    gccfg.b.vbussensingA = 1 ;
    gccfg.b.vbussensingB = 1 ;   
#ifndef VBUS_SENSING_ENABLED //这个没有定义
    gccfg.b.disablevbussensing = 1;
#endif   
   
    if(pdev->cfg.Sof_output)
    {
      gccfg.b.sofouten = 1;
    }
   
    USB_OTG_WRITE_REG32 (&pdev->regs.GREGS->GCCFG, gccfg.d32);


gccfg.b.disablevbussensing = 1;这个设置不了

在进入中断 DCD_HandleEnumDone_ISR 函数

USB_OTG_GetDeviceSpeed(pdev) == USB_SPEED_HIGH

查看USBFS_DSTAT 中的 ES 值为0而不是 01全速

forestabc 发表于 2021-3-3 10:07

楼主是怎么替换的,是修改下文件,直接使用STM32的程序还是直接全部换GD的程序

liushaolin 发表于 2021-3-3 10:28

forestabc 发表于 2021-3-3 10:07
楼主是怎么替换的,是修改下文件,直接使用STM32的程序还是直接全部换GD的程序 ...

直接使用ST的程序

yangxf1217 发表于 2021-3-3 11:57

好快的动作,我们还在等ST价格回归正常呢!不知道可行不。

单片小菜 发表于 2021-3-3 14:59

看来替换是势在必行了。国产的天下了。

BettyBerry 发表于 2021-3-4 23:46

楼主的码我也看不出来问题 我想有空用我自己的试一下

liushaolin 发表于 2021-3-5 22:28

BettyBerry 发表于 2021-3-4 23:46
楼主的码我也看不出来问题 我想有空用我自己的试一下

在这个坑上好几天,都没趟过去.兄弟赶紧试试,通了告诉一下

索尼法 发表于 2021-3-5 23:37

论坛里应该有一些替换的文档 我这边照着做是没什么问题

liushaolin 发表于 2021-3-6 15:53

索尼法 发表于 2021-3-5 23:37
论坛里应该有一些替换的文档 我这边照着做是没什么问题

我用ST和GD都跟踪了一下, 发现STGCCFG寄存器第21位 gccfg.b.disablevbussensing = 1;可以设置, 而GD
这个GCCFG寄存器第21位 VBUSIG设置不了,始终是0,好无语

别看我照片 发表于 2021-3-8 10:00

可以进行直接替换的,不错的。很棒的。

liushaolin 发表于 2021-3-12 11:47

别看我照片 发表于 2021-3-8 10:00
可以进行直接替换的,不错的。很棒的。
在GD32 V2.3手册说 当USBFS工作在设备模式下时(FHM控制位清除、FDM控制位置位),VBUS检测电路由
USBFS_GCCFG寄存器中的VBUSIG控制位所确定。
而在寄存器介绍说:
USBFS_GCCFG 寄存器 31:21必需保留复位值

不知道是哪个对的.实际跟踪,第21位值改不了

heimaojingzhang 发表于 2021-4-4 11:43

替换的时候做了什么设置

keaibukelian 发表于 2021-4-4 11:44

可以进行直接替换的

labasi 发表于 2021-4-4 11:46

如何进行替换啊

paotangsan 发表于 2021-4-4 11:50

可以自己实际测试一下

renzheshengui 发表于 2021-4-4 11:52

好像说的 有点矛盾啊

chenyelong 发表于 2021-4-14 09:05

我也是gd32105 ,替换stm32f105使用不成功
页: [1]
查看完整版本: STM32F105RCT6 移值到GD32F105 枚举成功后却变成了高速设备