MSCOMM控件的comm口的RThreshold设置是1,但input的时候是很多个字符,这是怎么回事?

voidCModBus_RTUDlg::OnOnCommMscomm1(){//TODO:Addyourcontrolnotificationhandlercodeher... void CModBus_RTUDlg::OnOnCommMscomm1()
{
// TODO: Add your control notification handler code here\
//串口接收处理函数
VARIANT vInput;
COleSafeArray svInput;
LONG len,k;
char RXDATA[1024];
CString sTemp;
switch (m_MSComm.GetCommEvent())
{
case 2://串口接收正常数据处理
m_MSComm.SetRThreshold(0);//RThreshold=0 ;
vInput=m_MSComm.GetInput();
svInput=vInput;
len=svInput.GetOneDimSize();
for(k=0;k<len;k++)
svInput.GetElement(&k,&RXDATA[k]);
/*
for (k=0;k<len;k++)
{
sTemp.Format("%c",RXDATA[k]);
m_sRxData+=sTemp;
}*/
RxCount=RxCount+1;
m_MSComm.SetRThreshold(1);
m_Status.SetWindowText(m_sRxData);
UpdateData(FALSE);
m_sRxData="";
break;
}
}
串口设置如下
m_MSComm.SetCommPort(3);
m_MSComm.SetInBufferSize(1024);
m_MSComm.SetOutBufferSize(512);
m_MSComm.SetInputMode(1);
m_MSComm.SetSettings("9600,n,8,2");
m_MSComm.SetRThreshold(1);
m_MSComm.SetInputLen(0);
展开
 我来答
zm1142415
2011-08-23 · 超过29用户采纳过TA的回答
知道答主
回答量:74
采纳率:0%
帮助的人:73万
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式