打印
[STM32F4]

关于官方USB例程FOR F407

[复制链接]
3230|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hy0709|  楼主 | 2014-8-6 13:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
FOR, USB, ST, os, ev
现在以下这个地方插入U盘一直无法进入phost->gState = HOST_DEV_ATTACHED这个状态,请教大神们怎么解决?

case HOST_IDLE :
   
    if (HCD_IsDeviceConnected(pdev))  
    {
      phost->gState = HOST_DEV_ATTACHED;
      USB_OTG_BSP_mDelay(100);
    }
    break;
沙发
香水城| | 2014-8-6 14:26 | 只看该作者
U盘接上之后,F407这个USB主机不能进入“HOST_DEV_ATTACHED”状态?

如果你用的是官方例程,并且没有修改过,

示波器查看一下D+和D-两个线此时的电平状态。

使用特权

评论回复
板凳
hy0709|  楼主 | 2014-8-6 15:25 | 只看该作者
香水城 发表于 2014-8-6 14:26
U盘接上之后,F407这个USB主机不能进入“HOST_DEV_ATTACHED”状态?

如果你用的是官方例程,并且没有修改 ...

从ms到ns/格都看了一下,好像D+ D-都是个3.3V的电平?

使用特权

评论回复
地板
hy0709|  楼主 | 2014-8-6 15:50 | 只看该作者
香水城 发表于 2014-8-6 14:26
U盘接上之后,F407这个USB主机不能进入“HOST_DEV_ATTACHED”状态?

如果你用的是官方例程,并且没有修改 ...

官方例程
仅修改了驱动VBUS的EN信号的IO口,别的没动

使用特权

评论回复
5
香水城| | 2014-8-6 17:59 | 只看该作者
hy0709 发表于 2014-8-6 15:25
从ms到ns/格都看了一下,好像D+ D-都是个3.3V的电平?

用的哪个OTG端口?全速的还是高速的?

其实无论哪个端口,在设备插入之前,D+和D-都应该是低电平;直到设备连上后,D+或D-要变成高电平(哪个线变高取决于设备是低速?还是全速/高速)

使用特权

评论回复
6
hy0709|  楼主 | 2014-8-7 08:18 | 只看该作者
香水城 发表于 2014-8-6 17:59
用的哪个OTG端口?全速的还是高速的?

其实无论哪个端口,在设备插入之前,D+和D-都应该是低电平;直到 ...

用的全速的
刚万用表量了一下
插U盘前D+D-都是3.3V,插U盘后拉低了一点大约3.0V

使用特权

评论回复
7
hy0709|  楼主 | 2014-8-7 09:30 | 只看该作者
香水城 发表于 2014-8-6 17:59
用的哪个OTG端口?全速的还是高速的?

其实无论哪个端口,在设备插入之前,D+和D-都应该是低电平;直到 ...

晕,突然烧写不了程序了
Thu Aug 07, 2014 09:28:35: Warning:  
Verify error at address 0x08000F9A, target byte: 0xFF, byte in file: 0x0C
Thu Aug 07, 2014 09:28:35: Warning:  
Verify error at address 0x08000F9B, target byte: 0xFF, byte in file: 0x00
Thu Aug 07, 2014 09:28:35: Warning:  
Verify error at address 0x08000F9C, target byte: 0xFF, byte in file: 0x0C
Thu Aug 07, 2014 09:28:35: Warning:  
一直报类似错误。原来出现过一次,擦除了FLASH再烧就好了,这次不行了,反复下电上电也没用

使用特权

评论回复
8
hy0709|  楼主 | 2014-8-8 10:15 | 只看该作者
看教程说检测设备插入从这里开始,不过貌似调试中发现没有跑下面的函数?
@<stm32fxxx_it.c>

void OTG_FS_IRQHandler(void)
{
  USBH_OTG_ISR_Handler(&USB_OTG_Core);
}

使用特权

评论回复
9
hy0709|  楼主 | 2014-8-8 14:00 | 只看该作者
问一下:上电前测量板子上的D+和D-之间的电阻仅0.4欧姆是不是有问题?

使用特权

评论回复
10
hy0709|  楼主 | 2014-8-8 17:35 | 只看该作者
问题已解决

使用特权

评论回复
11
Victor_Huang| | 2014-9-1 15:06 | 只看该作者
hy0709 发表于 2014-8-8 10:15
看教程说检测设备插入从这里开始,不过貌似调试中发现没有跑下面的函数?
@

请问楼主这个问题是怎么解决的呢?插入设备之后,那个中断函数进不去啊

使用特权

评论回复
12
JasonWangFAE| | 2014-9-2 16:55 | 只看该作者
maybe is the setting of clock issue , please make sure the source of USB clock is 48MHZ ..

使用特权

评论回复
13
soyshell| | 2014-9-8 21:29 | 只看该作者
从那个寄存器能查到当前USB的时钟?谢谢

使用特权

评论回复
14
zhuotuzi| | 2018-6-7 09:53 | 只看该作者
前来学习USB技术。

使用特权

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

本版积分规则

5

主题

23

帖子

0

粉丝