
VB6でシリアルポート通信を行っているものです。
22byteと26byteのデータをバイナリ受信したいのですが、異なるデータ長のデータをうまく取り込む方法がわかりません。
現状は、26byteのみで運用していたため
InputLen=26
RThreshold=25
として運用していました。
22byteのときも26byteの時もスタートコード(02h)とエンドコード(0dh)が付きます。
この手のソフト制作が得意な方がいらっしゃいましたら、ご教示いただきたく。
InputLenとRThresholdの意味合いについてもご存じでしたら、教えてください。
No.1ベストアンサー
- 回答日時:
InputLen プロパティの既定値は 0 です。
InputLen プロパティを 0 に設定すると、Input プロパティを使用したときに、コミュニケーション (MSComm) コントロールによって受信バッファの内容全体が読み取られます。InputLen プロパティで指定されたバイト数が受信バッファ内にない場合、Input プロパティは長さ 0 の文字列 ("") を返します。InBufferCount プロパティをチェックすると、Input プロパティを使用する前に、必要なバイト数が受信バッファ内に存在するかどうかを調べることができます。
このプロパティは、固定長データ ブロック形式でデータを出力するマシンからデータを読み取る場合に役立ちます。
何バイト受信すれば、コミュニケーション (MSComm) コントロールによって CommEvent プロパティが comEvReceive に設定され、OnComm イベントが発生するかを設定または取得します。
RThreshold プロパティを 0 (既定値) に設定すると、文字を受信しても OnComm イベントは発生しません。
たとえば、RThreshold プロパティを 1 に設定すると、受信バッファに 1 バイトが格納されるたびに、コミュニケーション コントロールによって OnComm イベントが発生します。
(MSDNより)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C# シリアル通信でデータ受信...
-
winsockでソケット通信の開発を...
-
「スイッチングハブのバッファ...
-
SerialPortのDataReceivedイベ...
-
socket: recvはいつ,どれだけ...
-
WaitForMultipleObjects関数の...
-
WriteFile()でのデータ送信がで...
-
RS-232Cでバイナリデータを受信...
-
シリアル通信の出力バッファと...
-
mp3再生中のISampleGrabberにつ...
-
TCPでの非同期型select関数につ...
-
バッファ領域がありません。と...
-
メールを数日後に自動返信
-
Macターミナルで実行中のプログ...
-
VBSの処理中一旦処理を止めて再...
-
VBAの配列サイズとメモリに関して
-
メッセージボックスのボタン名変更
-
ACCESS側からEXCELの書式を設定...
-
メモリのセグメント違反の解決...
-
VB.NETで起動したExcelの閉じ方...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C# シリアル通信でデータ受信...
-
「スイッチングハブのバッファ...
-
WriteFile()でのデータ送信がで...
-
socket: recvはいつ,どれだけ...
-
winsockでソケット通信の開発を...
-
RS-232Cでバイナリデータを受信...
-
SerialPortのDataReceivedイベ...
-
シリアル通信エラー
-
C#で通信処理。応答がない場合...
-
Linuxでのシリアル通信について...
-
シリアル通信の出力バッファと...
-
バイナリデータ受信時のデータ順
-
ReadFileについて
-
トラックバック機能を作りたい
-
ソケット通信内 read関数について
-
recv関数の受信結果について
-
ReadFile(GPSとの通信)Win7で...
-
visual c# 2010 シリアル通信ア...
-
WinsockAPIのrecvfromの受信デ...
-
popen実行時にバッファが空の場合
おすすめ情報