この構造でシリアル通信を待機するスレッドがあります:
( InputStreamは SerialPort.BaseStream です)
while ((bytesRead = InputStream.Read(RxBuffer, RxBufferIndex, 20)) > 0)
{
// read and handle data
if ((ShouldStop) || (!HasSource))
break;
}
問題は、シリアル データを受信しない限り、ブロッキング コールを終了できず、スレッドを終了できないことです。私はスレッド
をしたくありません- それは醜い解決策です。Abort()
InputStreamに書き込むと、シリアル ポートの抽象化によってデータが出力ポートにリダイレクトされます (通常は必要になります)。
入力ポートに 25 バイトを書き込んで読み取りが行われ、プログラム フローが続行されるようにするにはどうすればよいですか?