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();
}
}