在线等,VC串口。
为什么总是不能正确收到数据。(总是重复收一个数),只需要得到一个BYTE
初始化:
m_comm.SetCommPort(1);
m_comm.SetInputMode(1);
m_comm.SetSettings("2400,n,8,1");
m_comm.SetRThreshold(1);
if(!m_comm.GetPortOpen())
m_comm.SetPortOpen(TRUE);
接收:
VARIANT Recieve;
COleSafeArray Rdata;
CString str;
LONG length,i;
BYTE data[1024];
// data[0]=0;
char a=0;
if(m_comm.GetCommEvent()==2)
{
m_Rdata.Empty();
Recieve=m_comm.GetInput();
length=Rdata.GetOneDimSize();
//将数据转换为BYTE型数组
for(i=0;i<length;i++)
{
Rdata.GetElement(&i,data+i);
}
//将数组转换为CString型变量
for(i=0;i<length;i++)
{
char a=*(char*)(data+i);
str.Format("%c",a);
m_Rdata+=str;
}
}
}