掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
シリアル通信で受信するには? (ID:113149)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ねろさん、ありがとうございます。 >Private Buffer(200) As Byte とでもしておいたらいかがですか。 Private Buffer(200) As ByteとしBytesWrittenに適当な値を入れておき、 ポートを開いた状態で電子秤からデータを送信した後で、 Success = ReadFile(hSerialPort, Buffer, BytesWritten, BytesRead, IntPtr.Zero) を呼んだところ、BytesWrittenで指定したバイト数以上のデータがある場合は取得することができました。 しかし、BytesWrittenで指定したバイト数以下のデータしかなかった場合に呼んでしまうと、以前のようにReadFileの行で止まってしまいます(関数から制御が返ってこない?)。 1:Commポートからデータが送られてきたことを察知 2:受信バッファに格納されているデータの量を確認して受信 という流れにしたいのです。 MSCommオブジェクトでいうところのCommEvent、InBufferCountのようなこと(実際使ったことがなく調べただけなので間違っているかもしれません)だと思います。 たびたび申し訳ありませんがよろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.