我正在开发一个关于 Visual Studio C# 的项目。
我正在从通过串行端口连接到 PC 的设备收集数据。首先我发送一个请求命令,然后等待响应。发送请求命令后设备有 1 秒的延迟响应。问题是设备可能无法到达,有时可能没有响应。为了等待响应(如果有)并且不提前发送下一个数据请求命令,我通过:System.Threading.Thread 方法进行了延迟。
我的问题是,如果我延长延迟时间,我是否会丢失串口数据接收。
我使用的延迟功能是:
private void Delay(byte WaitMiliSec)
{
// WaitTime here is increased by a WaitTimer ticking at every 100msec
WaitTime = 0;
while (WaitTime < WaitMiliSec)
{
System.Threading.Thread.Sleep(25);
Application.DoEvents();
}
}