打印
[STM32F2]

请教STM32F2的USB拔插问题

[复制链接]
1786|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kalyking_chi|  楼主 | 2015-1-9 14:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在正在用STM32F2的USB有几个问题,实在想不到原因,特来请教
1,上位机与设备使用批量的OUT端点1 和 批量的IN端点1通讯,上位机先发OUT,后读IN数据,正在频繁的通讯过程中,突然拔掉USB的通讯线(设备是自供电,不依赖Vbus供电)),随后再插上,设备依然能够成功枚举,但是上位机就再也无法和设备通讯上,用bus hound看数据,上位机有发送一笔OUT数据出来,但是我在设备中没有任何接收中断产生(看DOEPCTL1有使能,端点有效,NAK状态为0)。但是将设备重新上电后,又可以正常通讯。其中会有什么原因呢?
2,只使能了IN和OUT的端点1,其他端点确认没有任何激活和使能,却还能收到其他端点的中断标志,这是什么情况?
3,有时候枚举过程中,会在get discriptor的80 06 00 02 00 00 20 00后,出现c000012,babble detect,这是什么原因?
沙发
kalyking_chi|  楼主 | 2015-1-9 15:56 | 只看该作者
啊啊啊,没有版主和高人理我啊

使用特权

评论回复
板凳
huangqi412| | 2015-1-9 22:03 | 只看该作者
拔了要重新枚举

使用特权

评论回复
地板
zh113214| | 2015-1-10 23:13 | 只看该作者
既然是自供电,按理说不该出现1所示的情况啊,,不懂,可以说详细点吗

使用特权

评论回复
5
zzu65| | 2015-1-10 23:52 | 只看该作者
在通讯的过程中,拔掉USB,通讯中断这应该很好理解,再连接USB,设备正常枚举,这也是正常现象,就是再插拔100次,也会正常枚举连接,但这时软件可能就无法与设备通讯了,因为每次枚举设备地址可能不一样。通讯过程中出现的错误可能是受到干扰,或者接触不良,或者其他原因导致数据出错,不过USB有纠错机制,它能自动补救回来。

使用特权

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

本版积分规则

1

主题

3

帖子

0

粉丝