5248|11

84

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

usbVirtualCOMPort例子会丢失数据,请高手帮忙分析原因 [复制链接]

                                  
此帖出自stm32/stm8论坛

最新回复

                                 你把VirtualCOMPort例程编译好以后写入STM32,就可以提示你安装驱动程序了,要不系统就不提示了,或者有UNKOWN DEVICE   详情 回复 发表于 2008-11-3 14:54
点赞 关注
 

回复
举报

65

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

没人碰到这问题吗?

                                  
此帖出自stm32/stm8论坛
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

例程本来速度就不高,丢数是正常的

                                  
此帖出自stm32/stm8论坛
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

4
 

能请你具体说一下,有办法克服吗?

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

5
 

VirtualCOMPort 例子丢失数据的可能原因

刚刚收到武汉力源的朋友发来的email如下,楼主可以试试:

STM32虚拟串口提供的代码存在丢失串口数据的问题,其可能原因如下:
 
    以下是串口接收中断调用的函数及USB发送完回调函数
void USART_To_USB_Send_Data(void)
{
 if (linecoding.datatype == 7)
  {
    buffer_in[count_in] = USART_ReceiveData(USART1) & 0x7F;
  }
  else if (linecoding.datatype == 8)
  {
    buffer_in[count_in] = USART_ReceiveData(USART1);
  }
  count_in++;
  
  UserToPMABufferCopy(buffer_in, ENDP1_TXADDR, count_in);
  
  SetEPTxCount(ENDP1, count_in);
  SetEPTxValid(ENDP1);
}
 
void EP1_IN_Callback(void)
{
  count_in = 0;
}

    其中 count_in为串口接收数据指针,串口接收中断及USB发送完回调函数都会修改count_in指针,这样就会造成数据丢失。
    
    以上代码版本为V2.2.1
/******************** (C) COPYRIGHT 2008 STMicroelectronics ********************
* File Name          : main.c
* Author             : MCD Application Team
* Version            : V2.2.1
* Date               : 09/22/2008
* Description        : Virtual Com Port Demo main file
********************************************************************************
此帖出自stm32/stm8论坛
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

6
 

楼主 帮帮我啊,

你那个 usb VirtualCOMPort 是怎么装的啊,,我一直没有搞懂   ,我装的是VCPDriver_V1.1_Setup  插上USB后没有反应呢?

此帖出自stm32/stm8论坛
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

7
 

USB虚拟COM端口驱动 那里下啊 ??

                                 USB虚拟COM端口驱动 那里下啊??
此帖出自stm32/stm8论坛
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

8
 

这个例子有些错误,你用bus hound 检测就会发现...

                                 还有就是不稳定,以要是不停的向uSB写数据(不是通过硬件,虚拟写,1s钟写32BYTES,够慢吧)我测了一晚上,第二天就发现CPU占用率超高...也不知是哪里的原因
此帖出自stm32/stm8论坛
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

9
 

这个例子就是个玩具,不具实用价值。

                                 得好好改写。
此帖出自stm32/stm8论坛
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

10
 

按照5楼的思路,加上超时判断,还是可实用的。


附图是上周五半双工情况下测的结果。
全双工的情况差一点点,发的正确率在99.9%以上,收的正确率在99.5左右。
 
相关链接:https://bbs.eeworld.com.cn/upfiles/img/200712/20071218232522885.rar
此帖出自stm32/stm8论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

11
 

我好像没有碰到过这个问题

                                 我也是使用VCOM虚拟一个串口,在这个串口上实现ST的ISP功能。至今没有发现过这个问题
此帖出自stm32/stm8论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

12
 

回6楼

                                 你把VirtualCOMPort例程编译好以后写入STM32,就可以提示你安装驱动程序了,要不系统就不提示了,或者有UNKOWN DEVICE
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表