打印
[STM32F1]

使用F103的USB作虚拟串口异常问题请教!

[复制链接]
961|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
re张风|  楼主 | 2017-11-23 14:43 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 re张风 于 2017-11-25 09:28 编辑

         最近要用F103RCUSB来通讯,所以编译了官方提供的Cubef1 V1.6库中的CDC_Standalone工程例子,发现USB会出现异常,主要的现象是这样的:
F103RCUSB接口插在WEC7嵌入式板子的USB-HOST端口,开始的一些时间,是正常的,每1ms一个SOF脉冲(该信号是使用示波器从USB+信号上采样,以下信号相同):

         VS2008基于WEC7写的串口程序,打开F103RC所虚拟的串口设备后,其波形中的数据量增加了,如下:


但有些时候,波形却会变宽了,如下:

         使用USB口收/发数据通讯一下(主要是F103RCUSB口向外输出数据后),波形一下就变多了,在相同的示波器参数上,就像这样:


   将其展开后(500us的格子,展开成5us),波形是这样的:

         虽然波形变得不可理解,但还是能当作串口一样正常能讯。关闭WEC7系统中,F103RC所虚拟的串口端口,波形又变回最初的样子。
   最后,最重要的是,不论是在哪种波形状态下,都会不停地消耗WEC7系统的内存(在一个WinCE6系统中,插上F103RC板子的USB到系统的USB-HOST,放了几个小时,就将30MB内存消耗完),这才是致命的。

          有些时候,将F103RC的USB插在WEC7系统的USB-HOST上,不理会它,不知道什么时候,波形也变成最后的这种情况了,主机端并没有对USB虚拟串口进行任何打开/关闭/通讯的操作。如果将F103RC这个模块直接插到PC机,那么波形直接就变得非常密了(根本看不到1ms一次的SOF信号)!就上面最后一种波形情况,但也能通讯。由于PC机的内存太大了,看不出对内存的占用消耗情况。

对于这种情况,不知道有没有人遇到过?特来请教!
沙发
re张风|  楼主 | 2017-11-25 09:29 | 只看该作者
没有人产品化过?或都没遇到这种情况?

使用特权

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

本版积分规则

个人签名:走,向前走,再走,继续走! http://www.uectr.com

51

主题

525

帖子

1

粉丝