CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

使用MSComm控件来串口通讯,关于接收多字节时候会截断的问题

楼主south2000(south2000)2005-04-18 19:56:36 在 VC/MFC / 基础类 提问

我使用MSComm控件来串口通讯,有两个问题。  
   
  1。  
  设置属性  
  InBufferSize:512  
  OutBufferSize:512  
  InputMode:1  
  InputLen:0  
  RThreshold:6,因为串口接收的数据最少为6个字节  
  SThreshold:0  
  其余的都是缺省的设置。  
   
  我要从串口里面接收6~128个字节不等的数据。  
  发现的问题是,当接收多字节数据的时候,会截断。比如说吧,要接收128个字节,那么控件的GetCommEvent()==2事件会连续来两次,第一次收到8个字节,紧接着第二次收到120个。  
  请问这个有解决的办法么?  
   
   
  2。我想达到这个功能,程序向串口发送一个数据,那么它应该很快收到回复,如果长时间比如5秒没有收到回复就说明发送的数据丢失或者通道本身有问题,需要退出程序。  
  请问,如何设置MSComm控件,来达到这个定时的目的?  
   
  谢谢! 问题点数:60、回复次数:4Top

1 楼rushinger(阮祥哥)回复于 2005-04-18 21:10:13 得分 0

gzTop

2 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-04-18 21:30:23 得分 60

2,自己设置一个定时器来判断Top

3 楼broown(程序员吃鱼香肉丝是很合理的)回复于 2005-04-18 21:58:26 得分 0

if(m_MSComm.GetCommEvent()==2)  
  {  
   
  variant_inp=m_MSComm.GetInput();   //读缓冲区  
  safearray_inp=variant_inp;     //VARIANT型变量转换为ColeSafeArray型变量  
  len=safearray_inp.GetOneDimSize();   //得到有效数据长度  
  for(k=0;k<len;k++)  
  safearray_inp.GetElement(&k,rxdata+k);//转换为BYTE型数组  
  for(k=0;k<len;k++)                           //将数组转换为Cstring型变量  
  {  
  BYTE   bt=*(char*)(rxdata+k);         //字符型  
  strtemp.Format("%c",bt);         //将字符送入临时变量strtemp存放  
  strDisp+=strtemp;     //加入接收编辑框对应字符串          
  }  
   
  CDC*   pDC=GetDC();       //准备数据显示  
    pDC->TextOut(200,100,"COM2接收到:"+strDisp);//显示接收到的数据    
  ReleaseDC(pDC);Top

4 楼south2000(south2000)回复于 2005-04-18 22:34:19 得分 0

broown(程序员吃鱼香肉丝是很合理的)  
  你老大写的这些文不对题啊,没有任何用处。Top

相关问题

  • 求救:PC串口连手机模块发送短信(用MSComm控件),消息总被截断!
  • 求mscomm控件
  • 使用MsComm控件,如何使得一次OnComm事件中能够收到大于8个字节的内容?
  • ***还是Mscomm控件***
  • 关于mscomm控件
  • 关于MSComm控件
  • mscomm控件问题?
  • mscomm控件求救!!
  • mscomm控件求救!!
  • MSComm控件问题!~~~

关键词

  • 控件
  • 数据
  • 接收
  • mscomm
  • inp
  • 串口
  • 收到
  • 问题
  • 设置
  • variant

得分解答快速导航

  • 帖主:south2000
  • oyljerry

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo