写了一个MFC程序,想把传感器的数据通过MSComm 读取出来。现在的问题是程序不出错,但是数据显示不出来。代码如下:
void CEmapDlg::OnCommMscomm1()
{
// TODO: 在此处添加消息处理程序代码
//printf("system is running here");
static unsigned int cnt = 0;
VARIANT variant_inp;
COleSafeArray safearray_inp;
long len,k;
unsigned int data[1024]={0};
byte rxdata[1024];//set byte array
CString strtemp;
if(m_mscomm.get_CommEvent()==2)//value is 2 when there is byte data in receive buffer
{
cnt++;
variant_inp = m_mscomm.get_Input();//read message from buffer
safearray_inp = variant_inp; //data change format
len = safearray_inp.GetOneDimSize();//get the valid length of data
for(k=0;k<len;k++)
{
safearray_inp.GetElement(&k,rxdata+k);//data format change to byte array
}
for(k=0;k<len;k++)//change format from array to CString
{
strtemp.Format(_T("%x"),*(rxdata+k));
m_EditReceive+=strtemp;
CString temp=_T("\r\n");
m_EditReceive+=temp;
}
}
UpdateData(FALSE);
}
调试截图![图片说明](https://img-ask.csdn.net/upload/201503/09/1425894173_459767.jpg)