[STM32F2] 请教STM32F2的USB拔插问题

[复制链接]
2524|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所示的情况啊,,不懂,可以说详细点吗
zzu65 发表于 2015-1-10 23:52 | 显示全部楼层
在通讯的过程中,拔掉USB,通讯中断这应该很好理解,再连接USB,设备正常枚举,这也是正常现象,就是再插拔100次,也会正常枚举连接,但这时软件可能就无法与设备通讯了,因为每次枚举设备地址可能不一样。通讯过程中出现的错误可能是受到干扰,或者接触不良,或者其他原因导致数据出错,不过USB有纠错机制,它能自动补救回来。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部