[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
|
メール
| |
RS232Cでバイナリファイルの終わりの検出について
1
:
タカミ
:2008/10/24(金) 07:26:22
初めまして、タカミと申します。
2台のコンピューターでバイナリデータの通信プログラムを作成しています。
データの送受信は出来たのですが、受信データの終わりを検出することが出来ません。
何か良い方法は無いでしょうか。
環境は VS2005 C# WIndows xp です。
宜しくお願いします。
8
:
ナカガワ
:2008/12/02(火) 22:17:38
C#のサンプルありがとうございます。
Cの feof(),ferror()にこだわって無駄な時間を費やしていました。
ファイルサイズを見て決める。時間を空ける。
なるほど。。。それしかありませんか。。。
感謝!
10
:
<削除>
:<削除>
<削除>
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文字
に変更したいのですがこれもできれば教えて頂けないでしょうか。
すみませんが、宜しくお願いします。
12
:
igoten
: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
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板