C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 158 を表示中)
■91320 / )  Re[1]: 受信イベントでReadExistingがタイムアウト
□投稿者/ kiku (91回)-(2019/06/16(Sun) 13:36:49)
イベントは発生するが、バッファが空になる現象を再現させることは
難しいと思いますが、実際に発生しているのでしょう。

バッファが空な状態でReadExistingを実行すると
TimeoutExceptionが発生することだけは確認できると思います。
※実験していません。

private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
 data = ((SerialPort)sender).ReadExisting();

 data = ((SerialPort)sender).ReadExisting(); // ここでTimeoutException発生
}

対処方法ですが、BytesToReadなどでバッファが空であるかチェックすれば良いと思います。
返信 編集キー/


管理者用

- Child Tree -