打印
[STM32F1]

无法识别设备

[复制链接]
435|27
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
juventus9554|  楼主 | 2022-5-8 15:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
原来的板子是USB3300的DIR管脚连接到PI11上,程序功能都完全正常,新画的板子,将DIR连到了PC2上后,修改了程序中的配置后,无法识别设备,搞了两天了,也没找到是什么原因

使用特权

评论回复
沙发
chuxh| | 2022-5-8 15:50 | 只看该作者
楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
板凳
juventus9554|  楼主 | 2022-5-8 15:53 | 只看该作者

用的库是STM32_USB-Host-Device_Lib_V2.1.0
只修改了usb_bsp.c文件
原代码为:
GPIO_PinAFConfig(GPIOI,GPIO_PinSource11,GPIO_AF_OTG2_HS) ; // DIR
//DIR
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 ;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_Init(GPIOI, &GPIO_InitStructure);  

修改为
  GPIO_PinAFConfig(GPIOC,GPIO_PinSource2,GPIO_AF_OTG2_HS) ; // DIR
  //DIR
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 ;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  GPIO_Init(GPIOC, &GPIO_InitStructure);

使用特权

评论回复
地板
wuhany| | 2022-5-8 15:55 | 只看该作者

看定义是可以的:
实在不行飞根线到PI11测试下

使用特权

评论回复
5
zhanghqi| | 2022-5-8 15:57 | 只看该作者
同意楼上的,不行只能飞线了。

使用特权

评论回复
6
chuxh| | 2022-5-8 15:59 | 只看该作者
这种情况就是硬件PCB设计问题了。

使用特权

评论回复
7
pengf| | 2022-5-8 16:02 | 只看该作者
原来的配方,原来的程序,突然新做的PCB不行了,肯定是硬件了。想法改成原来那种,飞线走起。

使用特权

评论回复
8
dengdc| | 2022-5-8 16:05 | 只看该作者

是不是这个映射不可以哦

使用特权

评论回复
9
juventus9554|  楼主 | 2022-5-8 17:21 | 只看该作者
用cubeMX配置试试看,看看可以配置这样不。

使用特权

评论回复
10
juventus9554|  楼主 | 2022-5-8 17:24 | 只看该作者
哪儿啊?我怎么没有找到。。。

使用特权

评论回复
11
juventus9554|  楼主 | 2022-5-8 17:26 | 只看该作者
飞到PI11 ,功能就正常了,实在不知道为什么PC2就不可以啊

使用特权

评论回复
12
zhenykun| | 2022-5-8 17:29 | 只看该作者
硬件问题

使用特权

评论回复
13
juventus9554|  楼主 | 2022-5-8 17:31 | 只看该作者
纠结的是我这块板上的PI11被占用了,实在不想飞,太麻烦了

使用特权

评论回复
14
pengf| | 2022-5-8 17:35 | 只看该作者
把芯片管脚重新处理了下

使用特权

评论回复
15
zhanghqi| | 2022-5-8 17:38 | 只看该作者
详细说说怎么回事啊,这么说太笼统了

使用特权

评论回复
16
jlyuan| | 2022-5-8 17:42 | 只看该作者
我也正在做这方面的,刚刚开始,还没搞定。我做103的和lpc1788的,都可以了。不过现在改成429的,没看到vcp的demo

使用特权

评论回复
17
chuxh| | 2022-5-8 17:45 | 只看该作者
我设计的原理图与红龙demo板,有点区别。因只有外设模式,去掉miniusb以及相关cpen extvbus 等等与host有关的东西;而且根据datasheet说明,有源晶振直接24MHz给XI,reset pin 接地了。

使用特权

评论回复
18
zhanghqi| | 2022-5-8 17:48 | 只看该作者
我用usb otg 库 、 vcp 测试代码,进行初始化device模式,始终不见clkout 有输出,这是第一;第二,代码运行到OTG_HS_CoreReset函数时(对OTG_HS_GRSTCTL的 CSRST位操作时)就会导致整个程序的崩溃。

使用特权

评论回复
19
chuxh| | 2022-5-8 18:00 | 只看该作者
查看pdf文件,说是 引起 hclk pclk domain 的复位?!

使用特权

评论回复
20
renyaq| | 2022-5-8 18:03 | 只看该作者
#ifdef USE_ULPI_PHY // ULPI
                RCC_AHB1PeriphClockCmd( RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB | RCC_AHB1Periph_GPIOC, ENABLE);        
                // ¸ù¾ÝLQFP176ÒÔ¼°·ÖÅäÇé¿ö£¬³õʼ»¯GPIOµÄʱÖÓ£¬º«ÑÇ·åÐ޸Ġ 
                GPIO_PinAFConfig(GPIOA,GPIO_PinSource3, GPIO_AF_OTG2_HS) ; // D0   PA3
                GPIO_PinAFConfig(GPIOA,GPIO_PinSource5, GPIO_AF_OTG2_HS) ; // CLK  PA5
                GPIO_PinAFConfig(GPIOB,GPIO_PinSource0, GPIO_AF_OTG2_HS) ; // D1   PB0
                GPIO_PinAFConfig(GPIOB,GPIO_PinSource1, GPIO_AF_OTG2_HS) ; // D2   PB1
                GPIO_PinAFConfig(GPIOB,GPIO_PinSource5, GPIO_AF_OTG2_HS) ; // D7   PB5
                GPIO_PinAFConfig(GPIOB,GPIO_PinSource10,GPIO_AF_OTG2_HS) ; // D3   PB10
                GPIO_PinAFConfig(GPIOB,GPIO_PinSource11,GPIO_AF_OTG2_HS) ; // D4   PB11
                GPIO_PinAFConfig(GPIOB,GPIO_PinSource12,GPIO_AF_OTG2_HS) ; // D5   PB12
                GPIO_PinAFConfig(GPIOB,GPIO_PinSource13,GPIO_AF_OTG2_HS) ; // D6   PB13
                GPIO_PinAFConfig(GPIOC,GPIO_PinSource3, GPIO_AF_OTG2_HS) ; // NXT  PC3
                GPIO_PinAFConfig(GPIOC,GPIO_PinSource2, GPIO_AF_OTG2_HS) ; // DIR  PC2
                GPIO_PinAFConfig(GPIOC,GPIO_PinSource0, GPIO_AF_OTG2_HS) ; // STP  PC0

我用的是176pin的封装

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

900

主题

12190

帖子

3

粉丝