subject_22782.htm
来自「一些关于vc的问答」· HTM 代码 · 共 12 行
HTM
12 行
<p>
序号:22782 发表者:feixp 发表日期:2002-11-28 13:18:44
<br>主题:串口通信读数据操作时老返回错误号为87的错误,是什么原因?
<br>内容:在串口通信读数据操作时老返回错误号为87的错误,是什么原因?(写操作能顺利实现)<BR>下面是我读操作的源码(在一个辅助线程中实现)<BR>UINT CMSTestDlg::CommWatch(LPVOID pParam)<BR>{<BR> DWORD dwTransfer,dwEvtMask;<BR> OVERLAPPED os;<BR> char strRecvBuf[4096];<BR> DWORD iRecvStrLen;<BR> int iLoop;<BR> int iLen;<BR> <BR> char strSendBuf[4096];<BR> DWORD iSendStrLen;<BR> DWORD dwBytesRead;<BR> <BR> BOOL bReturn;<BR><BR> bReturn = FALSE;<BR> iLoop=0;<BR> iLen = 0;<BR><BR> CMSTestDlg* pThis = (CMSTestDlg*)pParam;<BR> os.hEvent = CreateEvent(NULL,<BR> TRUE,<BR> FALSE,<BR> NULL);<BR> ASSERT(os.hEvent);<BR> if(!SetCommMask(pThis->hCommDev,EV_RXCHAR|EV_TXEMPTY))<BR> return FALSE;<BR> //iLen=lstrlen(pThis->m_Sendstr);<BR><BR> for(;;)<BR> {<BR> //if (WaitForSingleObject(pThis->postRecvEvent, INFINITE)!=WAIT_OBJECT_0)<BR> // break;<BR> dwEvtMask = 0;<BR> if(!WaitCommEvent(pThis->hCommDev,&dwEvtMask,NULL))<BR> {<BR> if(ERROR_IO_PENDING ==GetLastError())<BR> <BR> GetOverlappedResult(pThis->hCommDev,&os,&dwTransfer,TRUE);<BR> <BR> <BR> <BR> }<BR><BR> if((dwEvtMask & EV_RXCHAR) == EV_RXCHAR)<BR> {<BR> // WaitForSingleObje <BR><BR> iRecvStrLen = pThis->comStat.cbInQue;<BR> if(iRecvStrLen > 0)<BR> {<BR> while(!bReturn)<BR> {<BR><BR> bReturn = ReadFile(pThis->hCommDev,strRecvBuf,iRecvStrLen,&dwBytesRead,&(pThis->read_os));<BR> <BR> if(!bReturn)<BR> {<BR> DWORD dwErrorID = GetLastError();<BR> if (ERROR_IO_PENDING == GetLastError())<BR> {<BR> AfxMessageBox("Error ReadFile!");<BR> }<BR> else if(ERROR_IO_INCOMPLETE ==GetLastError())<BR> {<BR> AfxMessageBox("ERROR READFILE!");<BR> }<BR> else if(87 == GetLastError())<BR> {<BR> //break;<BR> //AfxMessageBox("here");<BR> }<BR> <BR> }<BR> <BR> } <BR> }<BR> }<BR>}
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:CDMA2000 回复日期:2002-11-28 13:23:12
<br>内容:错误87是参数错误,你查看ReadFile()参数对不对
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?