串口通信中遇到的问题

 
 VARIANT variant_inp;
 COleSafeArray safearray_inp;
 LONG len, k;
 BYTE rxdata[2048];
 CString strtemp;
 
 
 if (m_ctrlComm.GetCommEvent()==2)事件值为2表示接收缓冲区内有字符
 {
  
  variant_inp=m_ctrlComm.GetInput();读缓冲区
   safearray_inp=variant_inp;
  
  
   len=safearray_inp.GetOneDimSize();
  len=m_ctrlComm.GetInBufferCount();
  
  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_strEditRXData+=strtemp;
  }
  
 }

上述代码可全是<<Visual C++/Turbo C 串口通信编程实践>>书上的

为什么程序一执行到黄色部分,就崩溃啦???

 

你可能感兴趣的:(通信)