打印
[STM32F4]

STM32F407+USB330 VCP 无法工作的问题

[复制链接]
2698|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yonghelp|  楼主 | 2014-12-21 20:29 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yonghelp 于 2014-12-21 20:33 编辑

原来的板子是USB3300的DIR管脚连接到PI11上,程序功能都完全正常,新画的板子,将DIR连到了PC2上后,修改了程序中的配置后,无法识别设备,搞了两天了,也没找到是什么原因,求给我给点指示。
用的库是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);
沙发
yonghelp|  楼主 | 2014-12-21 21:15 | 只看该作者
自己顶,求救啦,各位大神

使用特权

评论回复
板凳
mmuuss586| | 2014-12-21 23:38 | 只看该作者
看定义是可以的:
实在不行飞根线到PI11测试下;



使用特权

评论回复
地板
yonghelp|  楼主 | 2014-12-22 09:49 | 只看该作者
mmuuss586 发表于 2014-12-21 23:38
看定义是可以的:
实在不行飞根线到PI11测试下;

飞到PI11 ,功能就正常了,实在不知道为什么PC2就不可以啊

使用特权

评论回复
5
yonghelp|  楼主 | 2014-12-22 09:53 | 只看该作者
yonghelp 发表于 2014-12-22 09:49
飞到PI11 ,功能就正常了,实在不知道为什么PC2就不可以啊

纠结的是我这块板上的PI11被占用了,实在不想飞,太麻烦了

使用特权

评论回复
6
yonghelp|  楼主 | 2014-12-22 10:32 | 只看该作者
找到原因了,可能是硬件问题,把芯片管脚又都重新处理了一下,神奇的可以。

使用特权

评论回复
7
wylinder| | 2014-12-22 12:53 | 只看该作者
yonghelp你好!你usb软件上是用来做vcp么?是否有vcp方面的demo,能否分享下?我也正在做这方面的,刚刚开始,还没搞定。我做103的和lpc1788的,都可以了。不过现在改成429的,没看到vcp的demo,有的话能否帮忙发下,十分感谢!wylinder@163.com

使用特权

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

现在我用usb otg 库 、 vcp 测试代码,进行初始化device模式,始终不见clkout 有输出,这是第一;第二,代码运行到OTG_HS_CoreReset函数时(对OTG_HS_GRSTCTL的 CSRST位操作时)就会导致整个程序的崩溃。

查看pdf文件,说是 引起 hclk pclk domain 的复位?!

我真的有点晕了!哪位大哥给解释下?不胜感谢,或者电话我13718138497。或者短信给我联系方式,我电话您。

使用特权

评论回复
9
hanyafeng| | 2015-10-22 14:41 | 只看该作者
  #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的封装

使用特权

评论回复
10
734774645| | 2015-10-22 17:18 | 只看该作者
飞过去正常了,那就是电路设计的不正常。

使用特权

评论回复
11
玛尼玛尼哄| | 2015-10-22 19:29 | 只看该作者
重新按照飞线的情况打个电路板。

使用特权

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

本版积分规则

1

主题

16

帖子

0

粉丝