したらば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文字
 に変更したいのですがこれもできれば教えて頂けないでしょうか。
すみませんが、宜しくお願いします。

12igoten:2010/03/05(金) 08:16:30
1、受信するデータの長さは固定ですか?
固定ならSerialPort1.ReceivedBytesThresholdをその長さに
設定しておくと設定したバイト毎にDataReceivedイベントが発生します。
固定出ない場合は、DataReceivedイベントがいつかかるかは未定ですので
受け取ったデータの中にエンドマークがあるか否かその都度チェックします。

2、第一引数はデータをストアーするバッファです。
  第二引数は上のバッファのどこから書き込むかのオフセットです。
  第三引数はその時受け取ったデータの数です。

3、inByte.Lengthは読み込んだデータをストアするバッファの長さです。
  ByteToReadはSerialPort1.ReceivedBytesThresholdに何も設定していない
  状態ですと、その時受け取ったデータの数でマシンに依存します。
  
4、VB.NETでしたよね。
  TextBox1.Text = Chr(65)  Aを表示

13こじら:2010/03/06(土) 12:18:15
ありがとうございます。
1については固定ではないので、エンドマークを使います。

教えて頂いた内容でトライしてみます。有難うございました。

16<削除>:<削除>
<削除>

20スーパーコピー:2018/08/25(土) 04:53:43
スーパーコピー
*当店の信用の第一
*商品の品質第一
*在庫情報随時更新!
*新品種類がそろっています。
*品質がよい、価格が低い、実物写真!
*100%品質保証 !
*全品送料無料

21スーパーコピー おすすめ店:2019/04/14(日) 03:12:26
スーパーは専売店をコピーします
日本の最高級のスーパーマーケットはブランド時計超特便宜通信販売専売店をコピーして、品質よくコピーを表して、2019最も新作、国際ブランドの腕時計はコピーして、業界は唯一ただ2全くありません.世界の1流の高い品質のブランドは時計をコピーして、当店のスーパーは時計専売店をコピーして、以下の世界の1流のブランドを販売して時計をコピーします:ロレックスはコピーして、ウブロはコピーして、オメガはコピーして、シャネルはコピーします...なぜかというと最高な品質のスーパーマーケットはN級の品物をコピーして新作を表して最も商品に新しく着いて、第1を使いを信じて、安心してください、全国の運賃が無料です!
新旧(の程度)の顧客がお願いするのを歓迎します


新着レスの表示


名前: E-mail(省略可)

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

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

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

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