したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

RS232Cでバイナリファイルの終わりの検出について

11こじら:2010/03/05(金) 02:01:39
どうもです。
私も同じRS232Cでバイナリデータの最後も検出に悪戦苦闘しています。
No2で、答えておられる3番の方法でエンドマーク(2byte)で終了にトライ
しています。
 作成しているGUIのボタンを押したとき、機器にコマンドを送り、それに
対しデータが送信され、この送信が全て完了してから表示を行うといった
仕様なのですが
、ボタンを押して、データを数バイト受信するのですが、全データを取るまで
に データを分割受信しているのか、受信割込みを何度か発生するような感じで、
うまく受信できず、エンドマークを検出することができません。
 途中でハングするか、予期せぬ値が表示されて終了します。

①全データ(エンドマーク)取得後まで表示処理に移らないようにするには
 どのようにすればよいのか
②SerialPort.Read(inByte, 0、ByteToRead)としたとき
   inByte.LengthとByteToReadの数値の意味と、関係を教えて頂きたいです。
  (上記の仕様でReadした時MessageBoxで数値を表示すると、全データを
   取得するまでに、発生するReadData割り込み(?)の度にインクリメント
   されています。バッファのアドレスポインタでも示しているのでしょうか)
③また、②のinByte.LengthとByteToReadは、GUIのボタンを押す度にも
    インクリメントされていく。
    私のイメージでは、ボタンを押すたびに、クリアされ、データを取得
    (バッファもクリア、0からスタート)と考えていたので。
    データ数や、配列は起動時に作成された値で固定なのでしょうか。
    受信のたびにクリアされるものと思っていたので。
④最後に 上記とは全く別なのですが、受信したバイナリをASCII文字
 に変更したいのですがこれもできれば教えて頂けないでしょうか。
すみませんが、宜しくお願いします。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板