打印

还是stm32 虚拟串口的问题

[复制链接]
11218|27
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
btiger2000|  楼主 | 2012-5-28 16:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
stm32 虚拟串口与PC通信,程序功能已全部完成。进入测试阶段,发现工作一段时间(数分钟到数十分钟不等),设备与PC就无法通信,关掉软件无法再打开串口;用串口调试助手也无法打开串口;PC设备管理器能识别串口; 设备的状态指示灯也还在闪烁(证明程序依旧在主循环执行)。

此时,只有断开USB线(设备不断电),重新连接,又能正常通信。连接仿真器(jlink),工作近两个小时,未再出现这一现象。

这是哪的问题啊? 还望香版能给解答下。 调试时发现底层复位,必须要重新插拔USB线,那个还可以忍了,可是工作中出现这种问题可就不行了阿!
沙发
btiger2000|  楼主 | 2012-5-28 16:26 | 只看该作者
USB
的驱动库是V3.2.1

使用特权

评论回复
板凳
pattywu| | 2012-5-28 17:02 | 只看该作者
Windows系统的问题,与STM32的USB模块没什么关系。
    别的USB转串口的模块,存在同样的问题。

使用特权

评论回复
地板
btiger2000|  楼主 | 2012-5-28 17:03 | 只看该作者
别的usb转串口模块还真没遇到过这个问题

使用特权

评论回复
5
pattywu| | 2012-5-28 17:05 | 只看该作者
也许是用ST的库造成的后果吧。

使用特权

评论回复
6
btiger2000|  楼主 | 2012-5-28 17:18 | 只看该作者
仿真也出了这个问题,只不过出现的频率较低

而且,出问题时,从设备管理器,删除设备,再重新安装驱动,又可以正常通信.

使用特权

评论回复
7
香水城| | 2012-5-28 18:24 | 只看该作者
请先区分是PC端的问题还是设备端的问题。

在设备端检查USB状态机,看看是否正常;看看端点是在什么状态:NAK、ACK、STALL?

使用特权

评论回复
8
airwill| | 2012-5-28 19:39 | 只看该作者
设备端的可能性比较大, 如果是 PC 端的问题, 通常得重新启动 PC 才能正常. 我在调试上位机的时候, 也常遇到需要重新启动 PC 才能恢复正常的情况. 而插拔设备不能恢复端口的使用.
而楼主的问题是设备拔下重新插上又能工作, 所以设备端有问题的可能性大

使用特权

评论回复
9
nongfuxu| | 2012-5-29 06:43 | 只看该作者
正关注STM32F的USB虚拟串口驱动。

使用特权

评论回复
10
btiger2000|  楼主 | 2012-5-29 10:28 | 只看该作者
请先区分是PC端的问题还是设备端的问题。

在设备端检查USB状态机,看看是否正常;看看端点是在什么状态:NAK、ACK、STALL?
香水城 发表于 2012-5-28 18:24



不好意思,看了半天源代码,没找到usb状态机, 有某个表示状态的变量?

使用特权

评论回复
11
btiger2000|  楼主 | 2012-5-29 13:46 | 只看该作者
上午测试时还有这样的现象:  工作一段时间后,PC机发送数据, 设备能收到(能执行动作),但是没有返回给PC的数据.
偶尔还会出现,插拔USB线也无法连接,需要重启PC,才能正常通信

使用特权

评论回复
12
btiger2000|  楼主 | 2012-5-29 16:11 | 只看该作者
故障越来越频繁, 为了排除上位机软件的问题,用串口调试助手定时发送数据,很快就会弹出写入失败,即发送失败,此时再打开串口,也失败

使用特权

评论回复
13
vigia| | 2012-5-29 17:06 | 只看该作者
https://bbs.21ic.com/viewthread.p ... ;highlight=%2Bvigia

试试这个贴子里,我贴的代码

使用特权

评论回复
14
btiger2000|  楼主 | 2012-5-29 17:21 | 只看该作者
本帖最后由 btiger2000 于 2012-5-30 09:54 编辑

通信断开后,重新打开串口,  跟踪程序发现 状态是 :WAIT_STATUS_IN ,然后被置为STALLED,串口打开失败

使用特权

评论回复
15
nongfuxu| | 2012-5-30 15:49 | 只看该作者
本帖最后由 nongfuxu 于 2012-6-2 23:48 编辑

继续关注STM32 USB通讯

把13L的帖子搬迁过来。如下:

ST官网上的USB VCD例程总是有问题
我改了一个,今天测试了下,115200BPS下10MB字节无差错。应该还可以了。
放在这里大家共享下。
VCD V2.0.0.zip (309.63 KB)

to Lihuiplus
1)这是从网上下载的;2)我没有keil的.

使用特权

评论回复
16
lihuiplus| | 2012-6-2 11:42 | 只看该作者
15# nongfuxu
楼上大侠能转个KEIL工程的么,没有IAR了。谢谢!

使用特权

评论回复
17
btiger2000|  楼主 | 2012-6-5 10:20 | 只看该作者
上周四\周五,本周一,测试未出现该现象,今天早上,测试,又出现了这个现象,郁闷了,研究了两天stm32的usb也没什么成果

使用特权

评论回复
18
btiger2000|  楼主 | 2012-6-18 10:13 | 只看该作者
出现问题时单步调试,发现能接收到PC发过来的数据,但是发给PC的数据发不出去,不再调用EP1_IN_CALLBACK()回调函数.

使用特权

评论回复
19
worldsing| | 2013-5-3 18:18 | 只看该作者
有把stm32 usb虚拟串用在实际项目上的么?

使用特权

评论回复
20
jalov| | 2013-9-16 20:52 | 只看该作者
mark

使用特权

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

本版积分规则

80

主题

1176

帖子

6

粉丝