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

关于串口通讯中的ComStat.cbInQue是否能正确反映的串口接收到的字节个数

楼主sxslyy(孤松傲雪)2002-08-25 16:31:53 在 VC/MFC / 基础类 提问

我想请教一个问题,相关程序可到http://www.csdn.net/expert/topic/962/962446.xml?temp=.3235285  
  上看一下。  
   
  问题是:从dos下的串口程序发来的数据,在我的接收程序中用  
      ClearCommError(pdlg->m_hCom,&dwErrorFlags,&ComStat);  
  if(ComStat.cbInQue>1)  
        {  
            .......发送消息读串口;  
   
          }  
  可ComStat.cbInQue却不能正确反映串口中的数据字节数。比如dos发来数据  
  "V0600212C请回电话2120391"按我的理解ComStat.cbInQue应等于24,我读ComStat.cbInQue个字符即可,可实际上并不是这样ComStat.cbInQue值不定,  
   
  因为我用如下语句读串口  
  length=min(dwLength,ComStat.cbInQue);  
  fState=ReadFile(m_hCom,buf,length,&length,&m_osRead);  
   
  因而使接收的信息被分解显示为  
  V0  
  600212C请回电话21  
  2  
  03  
  9  
  1  
  请问这是为什么?  
  还有只要我改变这条语句  
  if(ComStat.cbInQue)  
  如ComStat.cbInQue>19  
  那程序就读19个字节即  
  V0600212C请回电话21  
  20391  
  改为多少程序就读多少,为什么?,但同样的程序,我自已在程序中向串口写,再从串口读就没有这个问题,为什么?  
   
   
  问题点数:100、回复次数:5Top

1 楼wuxuan(真心英雄)回复于 2002-08-25 16:57:40 得分 10

http://www.codeproject.com/system/#Hardware%20programmingTop

2 楼qsfsea(忍)回复于 2002-08-25 16:59:43 得分 80

1.在你调用ClearCommError()时,可能只有那几个字节数据到达,  
  2.一直这样接收,然后连接起来分析不行吗?  
   
  Top

3 楼sxslyy(孤松傲雪)回复于 2002-08-25 17:12:02 得分 0

qsfsea(每天上网100分钟)   (     )   :  
  1.在调用ClearCommError()时,为什么只有那几个字节数据到达,因为在  
  window下我的程序自发自收,却没问题,window下比dos发的快吗?  
  2.一直这样接收,可我不知道它什么条件下会结束。而且我每读一次,就要向短信网关发一次数据,所以要一次读完送到串口。  
  有别的好方法吗?  
  Top

4 楼qsfsea(忍)回复于 2002-08-25 19:23:42 得分 0

按理说通讯参数相同dos,windows应该没问题,不敢保证  
  其实你可以在发送端加一个侦的标志,表示侦开始或侦结束Top

5 楼FG_Hope()回复于 2002-08-26 11:36:41 得分 10

 
        你可以循环接收直到满足条件才退出。  
        也可以增加在接收到某个指定的字符作为结束。在串口初始化的地方设置。Top

相关问题

  • 如何获取计算机中的串口和串口个数?
  • 如何判断串口端口的个数
  • 单片机串口通信,收不到第二个数据
  • 串口通讯的问题:为什么我用Readfile读串口数据只能得到116个数据
  • 请问怎么可以取得当前计算机的串口个数?
  • 我用SPCOMM控件写串口程序,有没有办法获知当前系统com口的个数?
  • 串口????
  • 串口!
  • 串口
  • DB25串口对DB9串口

关键词

  • 数据
  • 串口
  • cbinque
  • comstat
  • 接收
  • v0600212c
  • 字节数
  • 程序
  • clearcommerror
  • 问题

得分解答快速导航

  • 帖主:sxslyy
  • wuxuan
  • qsfsea
  • FG_Hope

相关链接

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

广告也精彩

反馈

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