我编写了个程序实现同一台电脑上两个串口的通信,从COM1发送字符到COM2接受,因此设置了两个MSComm控件,MSComm1和
MSComm2。 编辑框控件中m_send用于发送,m_receive用于接收显示的,但两个控件与这两个编辑框控件怎么对应的呢?
void CComtocomDlg::OnOnCommMscomm1() 
{
// TODO: Add your control notification handler code here
VARIANT variant_inp;
COleSafeArray safearray_inp;
long len,k;
BYTE rxdata[2048];
CString strtemp;
if(m_ctrlComm1.GetCommEvent()==2)
{
variant_inp=m_ctrlComm1.GetInput();
safearray_inp=variant_inp;
len=safearray_inp.GetOneDimSize();
for(k=0;k<len;k++)
safearray_inp.GetElement(&k,rxdata+k);
for(k=0;k<len;k++)
{
BYTE bt=*(char *)(rxdata+k);
strtemp.Format("%c",bt);
m_send+=strtemp;//m_send不应该是m_receive吗
}
}
UpdateData(false);
}void CComtocomDlg::OnOnCommMscomm2() 
{
// TODO: Add your control notification handler code here
VARIANT variant_inp;
COleSafeArray safearray_inp;
long len,k;
BYTE rxdata[2048];
CString strtemp;
if(m_ctrlComm2.GetCommEvent()==2)
{
variant_inp=m_ctrlComm2.GetInput();
safearray_inp=variant_inp;
len=safearray_inp.GetOneDimSize();
for(k=0;k<len;k++)
safearray_inp.GetElement(&k,rxdata+k);
for(k=0;k<len;k++)
{
BYTE bt=*(char *)(rxdata+k);
strtemp.Format("%c",bt);
m_receive+=strtemp;  //m_receive不是m_send吗
}
}
UpdateData(false);
}
这是两个MSComm对应的消息处理函数,问题在于我注释的地方