通信辅助线程如下:
UINT CommMask(HWND hSendWnd)
{
   OVERLAPPED os;
   OVERLAPPED READ_OS;
   DWORD dwMask; /****************
   
     BOOL fReadStat;
     int *lpBuffer;
 lpBuffer=&inbuff[0];
 DWORD dwBytesRead;
 DWORD dwError;  
 
 COMSTAT ComStat;
   DWORD dwLength;
   
   DWORD dwErrorFlags;
    
   SetCommMask(handle, EV_RXCHAR|EV_TXEMPTY);//有哪些串口事件需要监视?  
   WaitCommEvent(handle,&dwMask,&os);// 等待串口通信事件的发生检测返回的dwEvtMask,知道发生了什么串口事件:  
  if ((dwMask & EV_RXCHAR)==EV_RXCHAR)
  { // 缓冲区中有数据到达
   
   ClearCommError(handle, &dwErrorFlags, &ComStat );
   dwLength = ComStat.cbInQue; //输入缓冲区有多少数据?
  if (dwLength > 0)
  { 
 //HANDLE  npTTYInfo; 
     fReadStat=ReadFile(handle,lpBuffer,dwLength,&dwBytesRead,&READ_OS); //读数据
   
       if(!fReadStat)
   { 
   if (GetLastError()==ERROR_IO_PENDING)
   {
   while(!GetOverlappedResult(handle,&READ_OS,&dwBytesRead,TRUE ))
   {
   dwError = GetLastError();      
                   if(dwError == ERROR_IO_INCOMPLETE) /****************
                     continue;            /****************
 
   }  /****************
   }/****************
   } /****************
  } 
}
::PostMessage((HWND)hSendWnd,WM_COMMNOTIFY,0,0);//通知主线程,串口收到数据 
  return 0;
  
}出现了下面的错误,双击显示程序中标记为/****************的地方出错,这是什么错误,出现的原因是什么呢?--------------------Configuration: inspect - Win32 Debug--------------------
Compiling...
MainFrm.cpp
c:\windows\desktop\inspect2\mainfrm.cpp(4) : warning C4652: compiler option 'Generate Browser Info' inconsistent with precompiled header; current command-line option will override that defined in the precompiled header
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(62) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(62) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(74) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(74) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(83) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(83) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(93) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(93) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(93) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(93) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(93) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(93) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(93) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(93) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(93) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(93) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(93) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(93) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(95) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(95) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(95) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(95) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(95) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(95) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(95) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(95) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(95) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(95) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(95) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(95) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(95) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(95) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(95) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(95) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(96) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(96) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(97) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(97) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(99) : error C2018: unknown character '0xa1'
C:\WINDOWS\Desktop\inspect2\MainFrm.cpp(99) : error C2018: unknown character '0xa1'
Error executing cl.exe.inspect.exe - 40 error(s), 1 warning(s)

解决方案 »

  1.   

    是不是从哪里拷贝来的,检查一下有没有全角字符(比如逗号,分号等等)
      

  2.   

    对你检查一下空白的地方,看有没有一些不可见字符。0xa1是不可见字符。
      

  3.   

    我的串口通信也用到了这段代码,也出现了这种问题,也不知道是什么问题,不过我解决了,方法:双击报错指示,会标出出错的地方,然后在这个地方用左右移动键把代码向前移移,或向后移移,问题就解决了!
      

  4.   

    这是一个很常见的问题,解决的办法也很简单,你就按照楼上说的做。因为你从网页上拷贝的内容,实际上在每一行之前都加上一个隔行字符头
      

  5.   

    复制到记事本中,再从记事本中复制回来