- - PR -
SerialPortのReadメソッドとReadLineメソッド
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-01-14 00:28
VisualBasic.Net 2008を使って、シリアルポートからデータを取得するプログラムを作っています。
応答の結果がCRLFによる複数行の場合があり、SerialPortのReadLineメソッドで1行ずつ読み込んで処理してもいいのですが、とりあえずSerialPort.Readで全文受け取って一時ファイルに出力し、別のスレッドでそのファイルを読み込んで処理するつもりです。 ところが複数行の応答の時には取得できるのですが、1行だけの応答の時はReadメソッドでは何も取得できません。 しかし、ReadLineメソッドに変えれば取得できます。 応答の仕様では、1行だけの応答でも末尾にはCRLFが付加されています。 何がだめなんでしょうか? |
|
投稿日時: 2008-01-16 23:32
http://www.microsoft.com/japan/msdn/netframework/skillup/core/article2.aspx
↑ ここの説明を見たらReadLineメソッドはデータを受信するまで待ち、Readメソッドは待たないという説明がありました。 私が書いたプログラムが、WriteLineメソッドで送信した直後に応答を受信するようにしていたので、上記の仕様で動作の違いが発生したようです。 |
1