Explorar o código

ReadFile时没必要使用cbInQue来判断缓冲区是否有数据,因为WriteFile后设备响应需要时间。

JeffWang %!s(int64=2) %!d(string=hai) anos
pai
achega
35d230a09d
Modificáronse 1 ficheiros con 2 adicións e 0 borrados
  1. 2 0
      TCLCommand/TCLCommand/Serial.cpp

+ 2 - 0
TCLCommand/TCLCommand/Serial.cpp

@@ -261,6 +261,8 @@ DWORD CBaseSerial::ReadSync(LPVOID Buffer, DWORD dwBufferLength)
         utils::_dprintf(_T("读出错: ClearCommError出错"));
     }
 
+	// if (Stat.cbInQue != 0) return 0; // 不要判断Stat.cbInQue是否为0, WriteFile给设备后,设备可能没这么快响应,应该使用超时值;
+
     DWORD uReadLength = 0;
     if ( !::ReadFile(_hCommHandle, Buffer, dwBufferLength, &uReadLength, NULL) )
     {