| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 501 人关注过本帖
标题:十万火急,mscomm串口接收问题
只看楼主 加入收藏
fuyucao
Rank: 1
等 级:新手上路
帖 子:67
专家分:7
注 册:2011-10-17
结帖率:100%
收藏
 问题点数:0 回复次数:2 
十万火急,mscomm串口接收问题
m_ctrMSCom.SetCommPort(m_port + 1);//设置串口号
  CString strParam="9600,N,8,1";//定义通信参数变量
  m_ctrMSCom.SetSettings(strParam);//设置串口通信参数
  m_ctrMSCom.SetOutBufferSize(1024);//设置发送缓冲区大小为512字节
  m_ctrMSCom.SetInBufferSize(1024);//设置接收缓冲区大小为1024字节
  m_ctrMSCom.SetInBufferCount(0);//清空接收缓冲区
  m_ctrMSCom.SetInputMode(1);//设置串口数据读取方式为二进制
  m_ctrMSCom.SetInputLen(0);//设置读取接收缓冲区中的所有数据
  m_ctrMSCom.SetRThreshold(1);//设置接收缓冲区中有1个字符时响应OnComm事件

现在下位机发送的unsigned char类型的、是10的倍数的数据,然后我接收数据程序是这样的:
VARIANT m_input;
  WORD *WVar;//2个字节
 m_input=m_ctrMSCom.GetInput();//读取缓冲区内的数据
 WVar=(WORD*)m_input.parray->pvData;  
if((5<=*WVar) &&(*WVar<=255)&&(*WVar%10==0))
{
_itoa((int)(*WVar),str2,10);
m_stepTH.AddString(str2);
  }
现在调试能接收到数据,但是数据的格式不对,就是不是10的倍数,各位帮忙看看吧,他们等着做实验用,急,谢谢了!
搜索更多相关主题的帖子: 通信 二进制 缓冲区 
2011-12-31 10:49
fuyucao
Rank: 1
等 级:新手上路
帖 子:67
专家分:7
注 册:2011-10-17
收藏
得分:0 
有没有人回答一下啊
2011-12-31 14:41
fuyucao
Rank: 1
等 级:新手上路
帖 子:67
专家分:7
注 册:2011-10-17
收藏
得分:0 
没有人知道,结了吧,回家就没有时间结了
2011-12-31 17:19
快速回复:十万火急,mscomm串口接收问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022996 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved