BYTE m_RecBuff[100]; 
LONG CSifuDlg::OnComm(WPARAM ch, LPARAM port)  //接收数据
{   int count=0;   //设置计数
   if(m_bConnect)  //串口是否连接
   {
      m_RecBuff[count] +=(BYTE)ch;    //接收数据暂存
      count++;
  if(count=11)
  {
  if(m_RecBuff[0] = 0xAA)    //判断是否为帧头
  {   
  sifu1.m_bDistance=(UINT)(m_RecBuff[2]<<8)+(UINT)(m_RecBuff[1]);//数据的低位和高位传给编辑框变量
  sifu1.m_bAziUnderShoot=(UINT)(m_RecBuff[4]<<8)+(UINT)(m_RecBuff[3]);
  sifu1.m_bHiloUnderShoot=(UINT)(m_RecBuff[6]<<8)+(UINT)(m_RecBuff[5]);
  sifu1.m_bAziWatchAngel=(UINT)(m_RecBuff[8]<<8)+(UINT)(m_RecBuff[7]);
  sifu1.m_bHiloWatchAngel=(UINT)(m_RecBuff[10]<<8)+(UINT)(m_RecBuff[9]);  CString stra;                              //界面显示接收到的目标数据
  stra.Format("%d",sifu1.m_bDistance);
  m_cDistance.SetWindowText(stra);
  CString strb;
  strb.Format("%d",sifu1.m_bAziUnderShoot);
  m_cAziUnderShoot.SetWindowText(strb);
  CString strc;
  strc.Format("%d",sifu1.m_bHiloUnderShoot);
  m_cHiloUnderShoot.SetWindowText(strc);
  CString strd;
  strd.Format("%d",sifu1.m_bAziWatchAngel);
  m_cAziWatchAngel.SetWindowText(strd);
  CString stre;
  stre.Format("%d",sifu1.m_bHiloWatchAngel);
  m_cHiloWatchAngel.SetWindowText(stre);
  }
  }
   }
   UpdateData(FALSE);
   return 0;
}
我是用串口类SerialPort和使用控件编的,这样做接收串口发过来的目标数据,目标数据是用双字节表示,先传低位后传高位;最后用十进制从界面显示出来.不知道这样能否实现,如果不行,应该怎么做,希望指点!谢谢!