Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var sw = new Stopwatch();
- sw.Start();
- // Write the "request" bytes.
- _port.Write(buffer, 0, buffer.Length);
- Console.WriteLine("After write: {0}", sw.ElapsedMilliseconds);
- sw.Restart();
- // Wait for response, but timeout after 100ms.
- var timeoutCount = 0;
- while (_port.BytesToRead == 0 && timeoutCount < 100)
- {
- Thread.Sleep(1);
- timeoutCount++;
- }
- Console.WriteLine("Waited: {0}, #loops: {1}", sw.ElapsedMilliseconds, timeoutCount);
- if (_port.BytesToRead == 0)
- {
- // Timed-out..
- return null;
- }
- // Read the response.
- var receivedData = new byte[_port.BytesToRead];
- _port.Read(receivedData, 0, receivedData.Length);
- return receivedData;
- After write: 0
- Waited: 14, #loops: 1
- After write: 0
- Waited: 14, #loops: 1
- After write: 0
- Waited: 14, #loops: 1
- ...and so on...
- After write: 0
- Waited: 4, #loops: 5
- After write: 0
- Waited: 2, #loops: 3
- After write: 0
- Waited: 2, #loops: 3
- After write: 0
- Waited: 1, #loops: 2
- After write: 0
- Waited: 3, #loops: 4
Add Comment
Please, Sign In to add comment