打印

stm32 usb串口win7使用问题

[复制链接]
2768|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
s_f_tan|  楼主 | 2013-11-4 08:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
自己做的usb串口在xp下使用正常,但在win7的的笔记本上使用,结果无**常识别,硬件枚举过程都没有。后来在一台台式机上面实验,发现前面板上的usb接口都无法识别(非接口问题,其他设备如U盘都能正常工作),而主机后面的usb接口却可以识别出来,深感奇怪。怀疑连接线长短是否对硬件的识别有影响,遂使用一USB hub连接到前面板,发现通过HUB后又可以识别出USB 串口。有哪位高手能否指出工作原理差异和解决方案,本人深感谢之。
沙发
linfeng24| | 2013-11-4 22:51 | 只看该作者
额,表示没有遇到这个问题。帮你顶下。

使用特权

评论回复
板凳
wenshijian| | 2013-11-5 11:05 | 只看该作者
估计是USB的硬件驱动能力的管理,你的STM32模块是不是太耗电了?超过100mA就被很多笔记本不能识别了。你试试在台式机看能不能正常识别,台式机的正常输出电流时500mA。

使用特权

评论回复
地板
香水城| | 2013-11-5 15:30 | 只看该作者
LZ做的这个STM32的USB串口设备是总线供电设备?

通常来说,对于总线供电设备,在枚举时Hub提供100mA驱动电流,如果设备连接后出现过流,主机会关闭该端口。所以可以先测测这个USB串口的功耗情况。

PC前面端口本不能识别,接上Hub之后反而可以,比较奇怪,除非是外接电源的hub,不过这里估计不是。

使用特权

评论回复
5
s_f_tan|  楼主 | 2013-11-5 16:49 | 只看该作者
这个设备是外部电源供电,usb只是提供信号连接用的。

使用特权

评论回复
6
香水城| | 2013-11-6 12:32 | 只看该作者
“连接在笔记本上,设备无法识别,连枚举都没有。”

如何确定没有开始枚举?使用tracer抓过总线信号看的?那么此时测量一下D+电平多少?

使用特权

评论回复
7
cool_coder| | 2013-11-6 15:55 | 只看该作者
如果连接后PC毫无反应,查一下总线偏置吧,看看是否符合规范。

使用特权

评论回复
8
s_f_tan|  楼主 | 2013-11-8 11:23 | 只看该作者
问题搞定,原有板子上USBD+,D- 上串有有100R的电阻作为线路保护用,将其改为0R时,可以在前后USB上使用。可能是电脑上USB控制器的驱动能力不同导致信号不行。在此多谢大家

使用特权

评论回复
9
s_f_tan|  楼主 | 2013-11-8 11:25 | 只看该作者
另外一个,现在有谁在64位系统下用过stm32的虚拟串口,我都试验不出来,驱动程序可以安装正确,但读写串口无反应

使用特权

评论回复
10
cool_coder| | 2013-11-8 16:58 | 只看该作者
32/64位系统的区别仅在上位机一侧,如果MCU程序编写正确,应该和它没关系的。

使用特权

评论回复
11
香水城| | 2013-11-26 17:00 | 只看该作者
s_f_tan 发表于 2013-11-8 11:25
另外一个,现在有谁在64位系统下用过stm32的虚拟串口,我都试验不出来,驱动程序可以安装正确,但读写串口 ...

我在64位机器下和STM32105做的虚拟串口通信,工作正常

使用特权

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

本版积分规则

1

主题

169

帖子

2

粉丝